解构赋值

2019-01-05  本文已影响0人  冰冰啦

解构赋值: 分解一个对象的结构

1.数组

let arr = [1,2,3]
let [a,b,c] = arr //左边的结构和右边类似
a = 1 //true
b = 2 //true
c = 3 //true

2.复杂嵌套

let arr2 = [{
  name: 'hzj',
  age: '20'
},[1,2],3]
let [obj,[a,b],c] = arr2
// obj = {name: 'hzj',age: '20'}
// a = 1, b = 2
// c = 3
console.log(obj.name) // 输出'hzj'

3.对象解构的变量名

let obj = {name: 'hzj',age: 10}
let {name,age} = obj
// name = 'hzj'
// age = 10
// 若想自定义变量名称
let {name: newName,age: newAge} = obj
// newName = 'hzj', newAge = 10
// name未定义
// age未定义,因为名字已经变了.

4.默认解构赋值

let obj = {name: 'hzj'} //无age属性
let {name,age} = obj //name为'hzj',age为undefined
let {name,age=10} = obj  //name为'hzj',age为10
//如果能取出来值就用取出来的值,没有就用默认的值

5.省略解构

let arr = [1,2,3,4]
let [,,,a] = arr
// a = 4,只有a被解构
上一篇 下一篇

猜你喜欢

热点阅读