ES6解构赋值

ES6 允许按照一定模式,从数组和对象中提取值,对变量进行赋值,这被称为解构赋值

1、对象解构:对象解构时对象的属性没有次序,变量必须与属性同名,才能取到正确的值

2、数组解构:数组解构时数组的元素是按次序排列的,变量的取值由它的位置决定

对象解构

//这里是完整写法,变量与属性同名,也就是解构的key和数据的属性名同名
let { lyc: a, fyy: d } = { lyc: '很帅', fyy: '很美' }
console.log(a, d);   //a就是很帅,d就是很美
注意:数据lyc的值'很帅'是赋值给a

//不过一般直接在解构时使用对象简写,就是key:value一致时,我们会省略value
let { lyc, fyy } = { lyc: '很帅', fyy: '很美' }
console.log(lyc, fyy);

//不适用解构
let obj = { lyc: '很帅', fyy: '很美' }
console.log(obj.lyc);


//对象解构小技巧
//平时我们需要写完整的console.log去打印数据,但是用上了解构赋值,
//就可以把console里的log解构出来,就可以直接使用
let { log } = console
log('你好')

数组解构

const arr = ['倒带', '借口', '暗号'];
let [a, b, c, d] = arr;
console.log(a);    //倒带
console.log(b);    //借口
console.log(c);    //暗号
console.log(d);    //undefined

//解构可以写默认值,但是只有像上面的情况出现undefined,才会使用默认值
//当然对象解构也可以使用解构默认值
//这里给d加上默认值
let [a,b,c,d='1'] = arr;
console.log(d);    //1

//可以交换变量
let x = 1;
let y = 2;
[x,y] = [y,x]        //注意:这里=后面的[y,x]其实是[2,1]是数组数据,=前面的是解构
console.log(x,y);    //2,1

//数组的解构,=的右边数据必须是数组(或者严格地说,不是可遍历的结构)不然就会报错
[m,n] = {5,6}    //报错
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
ES6解构赋值的好处有以下几点: 1. 简化代码:ES6解构赋值可以让我们更简洁地从数组或对象中提取值,并将其赋给变量。这样可以减少冗余的代码,使代码更加简洁易读。 2. 提高可读性:通过使用解构赋值,我们可以清晰地表达出我们想要提取的值的含义,使代码更易于理解和维护。 3. 方便的交换变量值:使用解构赋值可以方便地交换两个变量的值,而不需要使用额外的中间变量。 4. 快速提取对象属性:解构赋值可以快速提取对象中的属性,并将其赋给变量。这样可以方便地访问和操作对象的属性。 5. 函数参数的灵活应用:解构赋值可以用于函数的参数中,可以方便地从传入的对象或数组中提取所需的值,使函数的参数更加灵活。 6. 处理JSON数据:解构赋值可以方便地从JSON数据中提取所需的值,使得处理JSON数据更加方便快捷。 7. 支持默认值:解构赋值可以为变量设置默认值,当提取的值不存在时,可以使用默认值来代替,避免出现undefined的情况。 8. 多层嵌套解构:ES6解构赋值支持多层嵌套的解构,可以方便地从复杂的数据结构中提取所需的值。 9. 可以与扩展运算符结合使用:解构赋值可以与扩展运算符(...)结合使用,可以方便地提取数组或对象中的部分值,并将其与其他值合并或进行其他操作。 总之,ES6解构赋值可以使我们的代码更加简洁、可读性更高,并且提供了更多的灵活性和便利性。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值