JS 解构赋值

1、数组的解构赋值

// 1、正常情况
[num1, num2] = [12, 34];
console.log(num1, num2);  // 12 34

// 2、默认值
[num1=56, num2] = [, 34];
console.log(num1, num2);  // 56 34

// 3、位置不对
[, num1, num2, num3] = [12, 34, 56];
console.log(num1, num2);  // 34 56 undefined

// 4、交换变量值
[num1, num2] = [num2, num1];
console.log(num1, num2);  // 34 56

// 5、嵌套数组
[num1, num2, [num3]] = [12, [34, 56], [78, 90]];
console.log(num1, num2, num3);  // 12 [34, 56] 78

2、对象的解构赋值

// 1、只会赋给value,不会赋给key
let {m:m, n:n, o:o} = {m:"test", n:1, o:true};
console.log(m, n, o); // test 1 true

// // 2、上面的简写
let {m, n, o} = {m:"test", n:1, o:true};
console.log(m, n, o); // test 1 true

// 3、默认值。null!==undefined,所以把默认值覆盖了
let {m, n=2, o=true} = {m:"test", n:1, o:null};
console.log(m, n, o); // test 1 null

// 4、默认值
let {m, n:age=1} = {m:"test", n:2};
console.log(m, n, age); // test n is not defined 2
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值