Products
GG网络技术分享 2025-11-22 23:46 1
嘿嘿,我来告诉你哦!JS解构赋值听起来优良高大巨大上,是不是感觉优良困难懂呢?别急,咱们磨蹭磨蹭来像学细小猫爬树一样,一步步就Neng学会啦!
JS解构赋值啊,就是像拆礼物一样,把一个东西拆开,然后分别给不同的变量。比如说你有一个巨大礼包,里面有苹果、香蕉和橘子,你不想一个个拿,想一次性全拿到手,对吧?JS解构赋值就是帮你一次性拿到全部东西的优良方法。

// 函数参数的解构赋值
function printInfo {
console.log;
}
printInfo; // 我的名字是细小李, 今年20岁
JS解构赋值还Neng帮你换礼物呢,不用第三个人帮忙,直接就Neng换完,是不是hen神奇?
// 对象解构示例
let obj = {name: '细小明', age: 20};
let {name, age} = obj;
console.log; // 细小明
console.log; // 20
// 数组解构示例
let arr = ;
let = arr;
console.log; // 1
console.log; // 2
console.log; // 3
有时候,巨大礼包里兴许缺了几个礼物,没关系,JS解构赋值有默认值,Neng帮你把礼物补全。
它的语法就像这样:“let {a, b} = {a: , b: }”, 其中“{a, b}”就是解构语法,它表示把对象里的东西“a”和“b”分给变量“a”和“b”。
// 交换变量的值
let a = 1;
let b = 2;
= ;
console.log; // 2
console.log; // 1
JS解构赋值还Neng从巨大礼包里挑出你想要的礼物,直接分给你。
除了对象之外 数组也Neng用解构语法来分礼物,它的语法是:“let = ”,其中“”就是解构语法,它表示把数组的礼物“”和“”给变量“a”和“b”。
JS解构赋值是一种通过解构对象或数组的方式,来一边给优良几个变量赋值的一种语法。它是在ES6中新鲜增的特性。
// 提取对象中的优良几个属性值
let obj = {name: '细小明', age: 20, gender: '男', score: 90};
let {name, age, score} = obj;
console.log; // 细小明 20 90
JS解构赋值还Neng帮你拆解函数返回的礼物包,让你kan清楚里面的每一份礼物。
// 嵌套解构
let obj = {name: '细小明', score: {math: 80, english: 90}};
let {name, score: {math, english}} = obj;
console.log; // 细小明
console.log; // 80
console.log; // 90
从上面的例子Nengkan到,我们成功地从一个嵌套的对象里面解构出了它的属性值。
// 用默认值
let = ;
console.log; // undefined
console.log; // undefined
console.log; // null
注意:
JS解构赋值Neng用来对函数参数进行解构赋值, 这样Neng简化函数的调用过程,并且让函数的意图geng加明显。
JS解构赋值还支持嵌套解构, 即在解构对象中存在对象或数组的情况下也Neng用解构赋值。
当解构后的值为null时不会用默认值。再说一个, 在对象解构中用默认值的写法是“let {a = , b = } = {a: , c: }”,Ru果解构对象中不存在要解构的属性,那么用的就是默认值。
// 函数返回值的解构
function getScore {
return {math: 80, english: 90};
}
let {math, english} = getScore;
console.log; // 80 90
JS解构赋值啊,就是像拆礼物一样,既Neng一次性拿到全部东西,还Neng挑出你想要的,真实是太方便了!我们在实际开发中Neng结合函数参数、交换变量值、提取对象属性值等场景来用JS解构赋值。
JS解构赋值还支持沉命名的功Neng,即在解构的一边将属性或变量名进行沉命名。这样Neng避免变量名再来一次或者取一个geng优良的变量名。
// 沉命名
let {x: y} = {x: 'hello'};
console.log; // hello
从上面的例子Nengkan出, 我们将解构对象的属性“x”的值赋给了变量“y”,实现了沉命名的效果。
Demand feedback