ES6相关特性(解构赋值)
解构赋值:本质上是一种匹配模式,等号两边的模式相同,则左边的变量可以被赋予对应的值。
注意:null & undefined 不能解构赋值!!!
数组的解构赋值:
let [a,[[b],c]]=[1,[[2],3]]; // a=1,b=2,c=3; let [,,c]=[1,2,4]; // c=4; let[x]=[]; // let x; // x=undefined;
可以指定默认值:
let [y=1]=[]; // y=1;
对象的解构赋值(找同名属性):
let {a,b}={b:'bbb',a:'aaa'}; // a=aaa;b=bbb; let {a:b}={a:1} // b=1;
基本类型的解构赋值:
let [a,b,c,d]='1234'; // a=1;b=2;c=3;d=4; let {toString:ts}=1; //ts ===Number.prototype.toString; let {toString:bs}=true; // bs ===Boolean.prototype.toString;