JS中的解構賦值是什么?如何使用?

解構賦值是一種從數組或對象中快速提取數據并賦值給變量的JavaScript語法,它使代碼更簡潔易懂。一、對象解構用于提取屬性值,如const { name, age } = user;也可重命名變量,如const { name: username } = user;還能設置默認值,如const { gender = ‘unknown’ } = user。二、數組解構按順序取元素賦值,如const [a, b] = arr;可用逗號跳過某些元素,如const [ , , c ] = arr;還可配合展開運算符獲取剩余元素,如const [first, …rest] = arr。三、函數參數中使用解構可清晰獲取對象參數,如function showuser({ name, age }),并能設置默認值,如function showuser({ name = ‘guest’ } = {})。四、嵌套結構也能解構,如const { user: { info: { email } } } = data,但層級不宜過深。合理使用解構賦值可減少重復代碼并提升邏輯清晰度,但應避免過于復雜的寫法。

JS中的解構賦值是什么?如何使用?

解構賦值是 JavaScript 中一種從數組或對象中快速提取數據并賦值給變量的語法。它讓代碼更簡潔,也更容易理解。比如你可以一行代碼把對象里的多個屬性分別賦值給多個變量,而不用一個個寫 obj.key。

一、對象解構的基本用法

對象解構最常見的用途是從對象中提取屬性值。基本寫法如下:

const user = { name: 'Tom', age: 25 }; const { name, age } = user; console.log(name); // Tom

如果你想要變量名和屬性名不一樣,也可以重命名:

const { name: userName } = user; console.log(userName); // Tom

還可以設置默認值,防止屬性不存在時得到 undefined

const { gender = 'unknown' } = user; console.log(gender); // unknown

二、數組解構也很方便

數組解構是按順序從數組中取出元素賦值給變量。例如:

const arr = [1, 2, 3]; const [a, b] = arr; console.log(a); // 1 console.log(b); // 2

如果只想取后面的值,前面可以用逗號跳過:

const [ , , c ] = arr; console.log(c); // 3

也可以配合展開運算符獲取剩余元素:

const [first, ...rest] = arr; console.log(rest); // [2, 3]

三、函數參數中的解構用法

函數傳參時使用解構可以讓你更清晰地拿到傳入的對象參數。例如:

function showUser({ name, age }) {   console.log(`${name} is ${age} years old`); } showUser({ name: 'Jerry', age: 30 }); // Jerry is 30 years old

你也可以在解構參數里設置默認值,這樣即使不傳也能處理:

function showUser({ name = 'Guest' } = {}) {   console.log(name); } showUser(); // Guest

這種寫法在寫配置項或可選參數的時候特別好用。

四、嵌套結構也能解構

當對象或數組內部有嵌套結構時,也可以一層層解構出來:

const data = { user: { id: 1, info: { email: 'a@b.com' } } }; const { user: { info: { email } } } = data; console.log(email); // a@b.com

不過要注意別嵌太深,否則反而難讀。如果層級很多,建議拆開寫或者做中間變量。


基本上就這些。解構賦值雖然看起來簡單,但用多了你會發現它能減少很多重復代碼,也讓邏輯更清晰。不過也要注意別寫得太復雜,尤其是嵌套和重命名太多時,反而影響閱讀。

? 版權聲明
THE END
喜歡就支持一下吧
點贊8 分享