优秀的编程知识分享平台

网站首页 > 技术文章 正文

ES6 数组解构赋值(es6 结构赋值)

nanyue 2024-10-11 13:40:53 技术文章 4 ℃

解构定义:从数组中提取值,对变量进行赋值

解构作用:可以很方便的提取数组中的值


完全解构:

1、解构成功:

let [a,b,c]=[1,2,3];
console.log(a,b,c);  //1 2 3
//模式匹配:只要等号两边模式相同,左边的变量就会被赋予对应的值

 let [,,g]=[2,3,4];
 console.log(g);//4

let [x,,y]=[7,8,9];
console.log(x,y); //7 9

let [a,...j]=[5,6,7,8,9];
console.log(a);//5
console.log(j);//[6, 7, 8, 9]

2、解构不成功:

let [a]=[];
console.log(a);//undefined


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

不完全解构

let [x,y]=[1,2,3]
console.log(x,y);//1 2

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

带有默认值:

let [a=true]=[];
console.log(a);//true

let [a,b='b']=['a',undefined];
console.log(a,b);//a b

let [x=1]=[null];
console.log(x);//null
//总结:只有严格等于(===)undefined时,默认值才会生效

惰性取值:

function f(){
    return 'aa'
}

第一种情况:
let [x=f()]=[1];
console.log(x);//1

第二种情况:
let [x=f()]=[];
console.log(x);//aa
//总结:因为比较懒,所以就近取值
最近发表
标签列表