在es6中,物件和陣列可以使用解構功能,可以按照一定模式從物件和陣列中提取值,對變數進行賦值。物件解構是在乙個賦值操作符的左邊放置乙個物件字面量。
例:
let book=在例中book.title的值儲存在名為title的變數中。let =book;
console.log(title);//輸出:九章算術
console.log(isbn); //輸出:987654321
console.log(price);//輸出:108
注意:如果使用var、let或者const解構宣告變數,必須提供初始化程式,即等號右邊必須提供值,否則會導致語法錯誤。
例:
var ;let ;
const;
如果變數之前已經宣告了,那麼需要使用圓括號把整個解構賦值語句包起來。
例:
let title,isbn,price;()=book;
使用解構賦值表示式的時候,如果指定的區域性變數名稱在物件中不存在,這個區域性變數會被賦值為undefined(未定義),可以考慮為這個變數定義乙個預設值,在變數名稱後面加乙個等號和相應的預設值即可。
例:
let = book;//上面案例中book物件沒有salesvolume屬性
如果希望再使用解構賦值時,使用與物件屬性名不同的區域性變數名稱,可以採用「屬性名:區域性變數名」的語法形式。
例:
let = book;//讀取title屬性的值儲存在變數booktitl中,注意右邊變數名,左邊要讀取的物件的屬性名。
關於巢狀的物件如何通過解構語法提取值:
例:
let book=}let } = book;
//在找到book物件的category屬性後繼續往下找name屬性,然後將值賦給category區域性變數
展開運算子和物件解構賦值
例:
let book=
let =book;
let =book;//取出book物件中的salesvolume屬性並賦值給salesvolume變數
console.log(newbook);//輸出:book物件
console.log(salesvolume);//輸出:undefined
ES6語法 解構賦值
按照一定的模式,從陣列和物件中提取值,對變數進行賦值,就被稱為解構。目的是為了提高效率,使用起來更加方便。以下的各個說明,我會模擬著es5去解釋,希望能幫到小夥伴們。陣列解構 正常解構 es5 var arr 1,2,3 var a arr 2 console.log a 3 es6 let a,b...
ES6新語法 解構賦值
物件解構賦值 很重要 物件解構賦值 獲取元素中屬性的值,然後賦值給變數 宣告乙個物件 let obj es5中 let name1 obj.name let age1 obj.age let gender1 obj.gender let score1 obj.score console.log na...
ES6 解構賦值
陣列的解構賦值 let a,b 12,13 let a,b,c d 13,15,16 let a,b c 78,12 23 let x,y 1,3,5 x 1,y 3 let x,y,z a x a,y undefined z let h,b 1,2,3,4 1,2,3,4 預設值 let x tr...