1. 程式人生 > 其它 >物件的解構賦值

物件的解構賦值

技術標籤: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 的簡寫形式