微信二维码
微博二维码
qq号二维码

ES6 解构赋值

夏磊银 2020.05.12 57人浏览
解构赋值:模式匹配赋值

解构赋值:针对数组或者对象进行模式匹配,然后对其中的变量进行赋值

解构的源:解构赋值表达式的右边部分。

解构的目标:解构赋值表达式的左边部分。


<script type="text/javascript">

/*******数组模型的解构*********/

let [a,b,c] = [1,2,3];

console.log(a,b,c);

let [a1,[b1],c1] = [1,[2],3];

console.log(b1);

let [a2,,c2] = [1,2,3];

console.log(c2);

let [a3 = 1,b3,c3] = [0,,3];

console.log(a3,b3,c3);

ES6 解构赋值

//剩余运算符

let [a4,...b4] = [0,1,2,3,4,5,6];

console.log(a4,b4);

ES6 解构赋值

//赋值可遍历对象(Iterator接口的数据)

let [a5,b5,c5,d5,e5] = "hello";

console.log(a5,b5,c5,d5,e5);

ES6 解构赋值

//默认值触发机制

let [a6 = 1, b6 = a6 ,c6 = b6] = [];

console.log(a6,b6,c6);

ES6 解构赋值

//let [a7 = 1, b7 = c7 ,c7 = a7] = []; //Cannot access 'c7' before initialization

ES6 解构赋值

/*******对象模型的解构*********/

//key值需要对应上,可套嵌可剩余运算符处理

let {q,w} = {q:1,b:2};

console.log(q,w);

ES6 解构赋值

let {q:q1} = {q:1};

console.log(q1);

ES6 解构赋值

//计算任意个参数和

function Sum1(...num){

var sum = 0;

for(let i=0;i<num.length;i++){

sum += parseInt(num[i])

}

return sum;

}

 

function Sum2(...num){

   let sum = num.reduce((x,y)=>{return x+y})

   return sum;

}

</script>


分享到:
微信小程序之wx.uploadFile
  • 2019.11.30
  • 日语学习难吗?80天零基础到N2!天津日语培训
  • 2020.06.05
  •