学习笔记三解构赋值


解构赋值

解构赋值是对赋值运算符的一种扩展。它通常针对数组和对象进行操作。

作用:从一个大数据里提取它其中的一部分
优点:代码书写简洁且易读性高
注意:一般用于数组给数组赋值 对象给对象赋值(两边结构必须一样)
赋值和结构必须同时进行

let {a,b};
{a,b}={a:12,b:13};

这样会直接报错


数组解构

在以前,为变量赋值,只能直接指定值
let a = 1;
let b = 2;
let c = 3;
ES6允许我们这样写:
let [a,b,c] = [1,2,3];

如果解构不成功,变量的值就等于undefined

let [foo] = [];
let [bar, foo] = [1];
foo的值都会等于undefined
结构赋值可以多传少 也可以少传多

数组解构嵌套
let arr=[1,2,[3,4]];
let [a,b,[c,d]]=arr;

在数组中某个数被赋值的如果是数组 也得加[]

对象解构

解构可以用于对象
属性名一定要对应不能改
对象解构赋值和对象的简写不能同时使用

let node = {
    type:'identifier',
    name:'foo'
}

let {type,name} = node;
用剩余运算符对对象解构

剩余的结果将放入一个对象中

<!--对象的解构赋值时,可以对属性忽略和使用剩余运算符-->
let obj = {
    a:{
        name:'张三'
    },
    b:[],
    c:'hello world'
}
//可忽略 忽略b,c属性
let {a} = obj;
//剩余运算符 使用此法将其它属性展开到一个对象中存储
let {a,...res} = obj;
console.log(a,res);

打印出来的res { b: [], c: ‘hello world’ }

对象默认值

let {a,b=10}=obj;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值