當從乙個物件中獲取屬性時,會進行這樣操作:
const p1 =
}const name = p1.name;
//tom shmith
const age = p1.age;
//20
const father = p1.familly.father;
//jack shmith
const mother = p1.familly.mother;
//mary shmith
es6可以通過物件解構非常簡潔的書寫,其結果與上面是一樣的:
const
= p1;
//name='tom shmith' age=20
//巢狀內容
const
= p1.familly;
//father='jack shmith' mother='mary shmith'
還可以對解構的屬性賦予新的變數名,需要在對應屬性後面加冒號:
const
= p1.familly;
//dad='jack shmith' mom='mary shmith'
如果獲取物件中沒有的屬性,他會返回undefined:
const
= p1.familly;
console.
log(brother)
;//undefined
可以直接在其中給它賦值,即建立了預設值:
const
= p1.familly;
console.
log(brother)
;//no brother
但必須是undefined才可以,如果原屬性是null或者false等,則會直接繼承:
...
brother:
null
,...
const
= p1.familly;
console.
log(brother)
;//null
... brother: undefined,
...const
= p1.familly;
console.
log(brother)
;//no brother
es6 物件解構 陣列解構 引數解構
使用es6的一種語法規則,將乙個物件或陣列的某個屬性提取到某個變數中。解構不會對解構的目標造成任何影響 對於物件,在我們要使用它的屬性時,通常把屬性儲存在變數裡 const user const age user.age const name user.name const user.或者如下分開宣...
ES6 物件的解構賦值
es6的解構賦值,在我看來是提供了乙個整體賦值的方案。包括陣列和物件的整體賦值。基本原則如下 let x,y 1,2 x 1 y 2 let foo aaa bar bbb 但是物件的解構賦值,允許給賦值的變數重新命名。物件的重新命名解構 我自己去的名字,便於理解 其實在給物件進行解構賦值的時候,有...
ES6 物件的解構賦值
物件的解構賦值 解構不僅可以用於陣列,還可以用於物件。let console.log foo aaa console.log bar bbb這裡的foo,bar一定要對應。物件的解構與陣列有乙個重要的不同。陣列的元素是按次序排列的,變數的取值由它的位置決定 而物件的屬性沒有次序,變數必須與屬性同名,...