es6——解构赋值

1.对象解构赋值:

let person={name:'guanguan',age:25};
let {name,age}=guanguan;
name;//"guanguan"
age;//25

//注:用let,var,const,声明解构赋值时,必须提供等号右侧的值1)默认值
let person={name:'guanguan',age:25};
let {name,age,sex}=guanguan;
sex;//undefined

let person={name:'guanguan',age:25};
let {name,age,sex='famale'}=guanguan;
sex;//'female'

(2)改变不同名称:
let person={name:'guanguan',age:25};
let {name:myname,age:myage}=person;
myname;//'guanguan';
myage://25;

let person={name:'guanguan',age:25};
let {name:myname,sex:mysex='female'}=person;
myname;//'guanguan';
mysex://'female';

(3)嵌套
let person={name:'guanguan',
            start:{
                  end:{
                      line:4},
                  a:1,
                  b:2}
            age:25};
let {start:{end:myend}} = person;
myend.line;//4

2.数组解构赋值

let colors=['red','green','yellow'];
let [firstColor,secondColor]=colors;
firstColor;//'red'
secondColor;//'green'

如果只想取第三个元素
let colors=['red','green','yellow'];
let [,,thirdColor]=colors;
thirdColor;//'yellow'

es6互换值
let a=1,b=2;
[a,b]=[b,a]

默认值:
let color=['red'];
let[first,second='green']=color;
first;//'red';
second;//'green';

嵌套解构
let color=['red',['blue','green']];
let [first,[second,third]]=color;
first;//"red"
second;//"blue"
third;//"green"

剩余项
let colors=['red','green','yellow'];
let[first,...rest]=color;
rest[0];//'green'

3.混合解构:

let node = {
        type: "Identifier",
        name: "foo",
        loc: {
            start: {
                  line: 1,
                  column: 1
              },

         },
        range: [0, 3]
     };
let {loc: { start },range: [ startIndex ]} = node;
console.log(start.line); // 1
console.log(start.column); // 1
console.log(startIndex);
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值