let dad = 'biao'
let mum = 'ling'
let family = {dad:dad, mum:mum}
console.log(family) //Object {dad:"biao", mum:"ling"}
ES6 写法
let dad = 'biao'
let mum = 'ling'
let family = {dad, mum}
console.log(family)
解构: es6允许按照一定模式,从数组和对象中提取值,对变量进行赋值,这被称之为解构
反过来可以这么写:(解构)
let family = {dad:'biao',mum:'ling'} let {dad,mum}=family //创建新对象,并赋值 console.log({dad,mum}) //{dad: "biao", mum: "ling"}
以上例子说明,
- 声明一个 family 对象中,包含 dad 和 mum 两个 属性
- 声明一个 新对象,也包含 dad 和 mum 两个属性,并从family 这个对象中,获取同名属性的值。也就是说,{dad,mum} 是一个新的对象,和family 没有关系。只是获得了family 的赋值
以下例子也可以证明这一点
结果返回未定义 let family = {dad:'biao',mum:'ling',child:'xin'} let {dad,mum}=family console.log({dad,mum}===family) //false console.log({dad,mum,child}) // child is undefined