解构赋值

本文详细介绍了JavaScript中的解构赋值,包括基本概念、数组的解构赋值、对象的解构赋值以及基本类型的解构赋值。通过实例解析了这种强大的语法特性,帮助读者更好地理解和运用解构赋值。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

基本概念:本质上是一种匹配模式,只要等号两边模式相同,那么左边变量可以被赋予对应的值。

解构赋值主要分为:数组的解构赋值 、对象的解构赋值 、基本类型的解构赋值。

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

数组的解构赋值

let [a,[[b],c]] = [1,[[2],3]];
console.log(a); //1
console.log(b); //2
console.log(c); //3
let [,,d] = [4,5,6];
console.log(d); //6
let [x] = [];
console.log(x); //undefined
let [y=1] = [];
console.log(y); //1

//解构赋值里设置默认值
//这里a5设置默认值的情况
let [a1, a2, a3, a4, a5="hello"] = [1, 2, 3, 4]
console.log(a1) //1
console.log(a2) //2
console.log(a3) //3
console.log(a4) //4
console.log(a5) //hello
//以下是不设置默认值的情况
let [b1, b2, b3, b4, b5] = [1, 2, 3, 4]
console.log(b1) //1
console.log(b5) //undefined
//设置默认值却又有对应的情况
let [b1, b2, b3, b4, b5="hello"] = [1, 2, 3, 4, 5]
console.log(b1) //1
console.log(b5) //5

对象的解构赋值

let {a,b} = {b:'bbb',a:'aaa'};
console.log(a); //aaa
console.log(b); //bbb
let {c:d} = {c:1};
console.log(c); //ReferenceError: Can't find variable: c
console.log(d); //1

基本类型的解构赋值

let [a,b,c,d] = '1234';
console.log(a); //1
console.log(b); //2
console.log(c); //3
console.log(d); //4
let {length:len} = 'miaov';
console.log(len); //5
let {toString:ts} = 1;
let {toString:bs} = true;
console.log(ts === Number.prototype.toString); //true
console.log(bs === Boolean.prototype.toString); //true
// null和undefined不能进行解构赋值
let [a] = null; //TypeError: null is not an object (near '... let [a] = null;...')
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值