物件的解構賦值
阿新 • • 發佈:2021-01-20
技術標籤:ES6
之前看同事寫的物件的解構賦值也能理解,類似下面的程式碼:
let obj = {
name: 'xiaoliu',
age: 20,
say(){
console.log(`hello`)
}
}
const {name, age, say} = obj
console.log(`name is: ${name}, age is: ${age}`)
say()
輸出如下:
name is: xiaoliu, age is: 20
hello
就是把物件中的各個屬性給解構出來,不用再用物件點出來了。所以也就沒再深究。 最近經常看到類似這樣的程式碼:
let obj = {
name: 'xiaoliu',
age: 20,
say(){
console.log(`hello`)
}
}
const {name: n, age: a, say: s} = obj
console.log(`name is: ${n}, age is: ${a}`)
s()
意思是把obj物件中的name屬性重新定義一個變數n, 解構出來後,直接用變數n。如果我們把解構出的變數名和屬性名寫成相同的,就可以看出
const {name, age, say} = obj 是const {name: name, age: age, say: say} = obj 的簡寫形式