1、这个涉及到ES6中变量的解构赋值
定义:ES6允许按照一定模式,从数组和对象中提取值,对变量进行赋值,这被称为解构(Destructuring)。
解构的语法:
const { name } = user; //定义变量name ,把user当做对象处理,并取其属性name ,赋值给变量name
//等价于
const name= user.name
解构赋值的基本规则是:只要等号右边不是对象或数组,就先将其转换为对象
。由于undefined和null无法转换为对象,所以对它们解构赋值都会报错。
2、请分析以下几个例子的结果,之后你就会明白这个{}所代表的的意思
(1)例一
const {a} = {a:1}
console.log(a) // 1
(2)例二(ES6语法糖)
const {a} = {a:1, b:2};
console.log(a); //1
//等价于
const obj = {a:1, b:2};
const a = obj.a
console.log(a); //1