20.JavaScript-数组解构赋值

1.什么是解构赋值

解构赋值是ES6中新增的一种赋值方式

let arr = [1, 3, 5];
let [a, b, c] = arr;
console.log("a=" + a);  // a=1
console.log("b=" + b);  // b=3
console.log("c=" + c);  // c=5
2.数组解构赋值注意点

2.1 在数组的解构赋值中,等号左边的格式必须和等号右边的格式一模一样,才能完全结构

let [a, b, [c, d]] = [1, 3, [2, 4]];
console.log("a=" + a);
console.log("b=" + b);
console.log("c=" + c);
console.log("d=" + d);

2.2 在数组的解构赋值中,左边的个数可以和右边的个数不一样,左边有几个就解构几个

let [a, b] = [1, 3, 5];
console.log("a=" + a);  // a=1
console.log("b=" + b);  // b=3

2.3 在数组的解构赋值中,右边的个数可以和左边的个数不一样,右边有几个就解构几个,没有的就赋值undefined

let [a, b, c] = [1];
console.log("a=" + a); // 1
console.log("b=" + b); // undefined
console.log("c=" + c); // indefined

2.4 在数组的解构赋值中,如果右边的个数和左边的个数不一样,那么我们可以给左边指定默认值

let [a, b = 666, c=777] = [1];
console.log("a=" + a); // a=1
console.log("b=" + b); // b=666
console.log("c=" + c); // c=777

2.5 在数组的解构赋值中,如果左边的个数和右边的个数不一样,那么如果设置默认值会被覆盖

let [a, b = 666] = [1, 3, 5];
console.log("a=" + a); // a=1
console.log("b=" + b); // b=3

2.6 在数组的解构赋值中,还可以使用ES6中新增的扩展运算符来打包剩余的数据(剩余数据以数组形式返回)
2.7 在数组的解构赋值中,如果使用了扩展运算符,那么扩展运算符只能写在最后定义的变量前面

let [a, ...b] = [1, 3, 5];
console.log("a=" + a); // a=1
console.log(b); // b=[3,5]
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 感赏儿子早早起床 ,笑容满面。和妈妈快乐的谈了流量的使用。话费透支。不反对妈妈说叫外卖的的事。 感赏儿子正常的生活...
    乐天派女神阅读 109评论 0 0
  • 碧叶深处有花苞!看着这一池的盎然生机,不由人心生欢喜!
    江南叶语阅读 185评论 0 0
  • -1- 有时为了守护瑜伽 会很灭绝师太 -2- 基本上白天藏在家里 黄昏才出来活动 -3- 凭自己的专业挣钱 独立...
    瑜悦芝伽阅读 220评论 0 0
  • 笼中的鸟儿 纷纷亮出十八年前的羽毛 一个比一个鲜艳夺目 可这算个毬 没有自甴 翅膀就是个摆设 你就不算是只鸟 十八...
    藬彊阅读 204评论 0 0