ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

变量的解构赋值

2022-07-04 22:05:10  阅读:121  来源: 互联网

标签:变量 对象 解构 let 默认值 赋值


ES6允许按照一定模式,从数组和对象中提取值,从而实现对变量进行赋值。将其称为解构

1.数组的解构赋值

简单来说就是通过一定的声明方式,为变量进行赋值。未能正常解构的变量为undefined。

在进行解构赋值时,可以指定默认值,当右边数组为undefined时取到默认值,但当其为null时取不到默认值。

let [a,b,c]=[1,2,3];
let [ , , third] = ["foo", "bar", "baz"];
let [head,...tail]=[1,2,3,4];


let [foo=true]=[];
let [x,y='b']=['a'];
let [x,y='b']=['a',undefined]
let [x,y='b']=['a',null]

2.对象的解构赋值

对象的解构赋值,与数组类似,

在等号左边,定义的变量若与等号右边,定义的对象的key一致,则左边对应变量的值会被解构为右边相应key对应的value。

如不想让左边的变量对应值为右边对象key对应的value,则可以通过将右边的变量写为k:v的形式,这时,左边定义的k就没有作用了。

若在左边定义的变量,不能在右边找到相应对象的k,则该值为undefined。

let {foo:fooVal,bar,baz}={ foo: 'aaa', bar: 'bbb' };

console.log(fooVal,bar,baz)

对象解构赋值的默认值。

var {x=3}={};

var {x,y=5}={x:1};

var {x:y=3}={x:5}

3.解构赋值的注意点

let x ;
({x}={x:4});

let arr=[1,2,3]
let [a,b,c,d,e]='hello'
let {0:first,1:second,}=arr;
console.log(first,second)
    为一个事先声明的变量进行解构赋值时,要加一个(); 数组是特殊的对象,可以通过对象解构赋值; 同理,字符串可以解构为一个数组。   注:文章主要来源:https://es6.ruanyifeng.com/

标签:变量,对象,解构,let,默认值,赋值
来源: https://www.cnblogs.com/2019zjp/p/16444565.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有