ES6-变量解构

122 阅读1分钟

ES6

1、变量解构赋值

本质:“模式匹配”,等号两边模式相同,左边的变量就会被赋予对应的值

  • 普通解构
let {name} = {name: 'zhangsan'}
name // "zhangsan"
  • 解构不成功,变量的值等于undefined
let {name} = {}
name // undefined
  • 多层解构报错,原因:解构对象为空/模式不匹配,解构不成功,变量的值等于undefinedundefined无自己的属性
// 从右边对象的personInfo中拿出age

// 错误 模式不匹配
let {personInfo:{age}} = {}
// Uncaught TypeError: Cannot read property 'age' of undefined

// 正确 模式匹配   
let {personInfo:{age}} = {personInfo: {age: '18'}}
age // '18'