JavaScript解构赋值有什么用?

本文详细介绍了JavaScript中的解构赋值,包括数组、对象、字符串的解构,以及变量值交换和函数形参解构的应用。通过实例展示了如何使用解构赋值简化代码,提高效率。

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

解构赋值是什么?
就是从数组或者对象中取出部分成员的方法。
顾名思义就是先解构数组或者对象,再将解构出来的部分成员赋值。

一、数组解构赋值
let arr = ['a', 'b', 'c', 'd', 'e'];
let [f, g, h, i, j] = arr;//这段为解构赋值
console.log(f, g, h, i, j);

控制台结果:
在这里插入图片描述


我们也可以对数组进行部分解构赋值:

let arr = ['a', 'b', 'c', 'd', 'e'];
let [f, g] = arr;//这段为解构赋值
console.log(f, g);

在这里插入图片描述
这里解构赋值的结果就是按arr数组的顺序来的


二、对象解构赋值
let obj = {
    name: 'zs',
    age: 18,
    from: 'china'
}
let { name, age, from } = obj;
console.log(name, age, from);

在这里插入图片描述
这里解构赋值的结果和数组一样按顺序来的,只不过数组要用[],对象要用{}。


但是我们可不可以不用原来对象,即这里的obj中的键名,进行解构赋值呢?

let obj = {
    name: 'zs',
    age: 18,
    from: 'china'
}
let { a, age, c} = obj;
console.log(a, age, c);

在这里插入图片描述
答案是不行。


那如果我们不想用原来的key名来接受这个值该怎么办呢?
我们可以起别名

let obj = {
    name: 'zs',
    age: 18,
    from: 'china'
}
let { name:a, age, from:c} = obj;
console.log(a, age, c);

在这里插入图片描述
像这样我们就可以用我们想要的key名来接受这个值啦


三、字符串解构赋值
let str = 'hello';
let [a, b, c, d, e] = str;
let [f, g] = str;
console.log(a, b, c, d, e);
console.log(f, g);

在这里插入图片描述
是不是跟数组解构赋值很像?


四、变量值交换(很实用)

常规的交换两个变量值:

let a = 1;
let b = 2;
let tmp = a;
a = b;
b = tmp;
console.log(a, b);

在这里插入图片描述
缺点:代码量多,很麻烦,而且需要创建新变量暂存值。


解构赋值交换:

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

在这里插入图片描述
一行代码轻松搞定。


五、有关函数形参的一些解构赋值操作
function foo([x, y, z]) {
    console.log(x, y, z);
}
foo([1, 2, 3])

在这里插入图片描述
但你要用数组里的一些值作为变量的时候还是有点用的。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值