手册

目录

解构

收藏642

阅读599

更新时间2025-08-07

解构赋值语法

解构赋值语法将对象属性解包到变量中:

let {firstName, lastName} = person;

它还可以解包数组和任何其他可迭代对象:

let [firstName, lastName] = person;

对象解构

实例

// 创建一个对象
const person = {
  firstName: "Bill",
  lastName: "Gates",
  age: 50
};

// 解构
let {firstName, lastName} = person;
运行实例 »

点击 "运行实例" 按钮查看在线实例

属性的顺序无关紧要:

实例

// 创建一个对象
const person = {
  firstName: "Bill",
  lastName: "Gates",
  age: 50
};

// 解构
let {lastName, firstName} = person;
运行实例 »

点击 "运行实例" 按钮查看在线实例

注意:

解构不是破坏性的。

解构不会更改原始对象。

对象默认值

对于可能缺失的属性,我们可以设置默认值:

实例

// 创建一个对象
const person = {
  firstName: "Bill",
  lastName: "Gates",
  age: 50
};

// 解构
let {firstName, lastName, country = "US"} = person;
运行实例 »

点击 "运行实例" 按钮查看在线实例

对象属性别名

实例

// 创建一个对象
const person = {
  firstName: "Bill",
  lastName: "Gates",
  age: 50
};

// 解构
let {lastName: name} = person;
运行实例 »

点击 "运行实例" 按钮查看在线实例

字符串解构

解构的一个用途是解包字符串字符。

实例

// 创建一个字符串
let name = "W3School";

// 解构
let [a1, a2, a3, a4, a5] = name;
运行实例 »

点击 "运行实例" 按钮查看在线实例

注意:

解构可以用于任何可迭代对象。

数组解构

我们可以将数组变量提取到自己的变量中:

实例

// 创建一个数组
const fruits = ["Bananas", "Oranges", "Apples", "Mangos"];

// 解构
let [fruit1, fruit2] = fruits;
运行实例 »

点击 "运行实例" 按钮查看在线实例

跳过数组值

我们可以使用两个或更多逗号来跳过数组值:

实例

// 创建一个数组
const fruits = ["Bananas", "Oranges", "Apples", "Mangos"];

// 解构
let [fruit1,,,fruit2] = fruits;
运行实例 »

点击 "运行实例" 按钮查看在线实例

数组位置值

我们可以从数组的特定索引位置提取值:

实例

// 创建一个数组
const fruits = ["Bananas", "Oranges", "Apples", "Mangos"];

// 解构
let {[0]: fruit1, [1]: fruit2} = fruits;
运行实例 »

点击 "运行实例" 按钮查看在线实例

剩余属性

可以在解构语法末尾使用剩余属性。

此语法会将所有剩余值存储到一个新数组中:

实例

// 创建一个数组
const numbers = [10, 20, 30, 40, 50, 60, 70];

// 解构
const [a, b, ...rest] = numbers;
运行实例 »

点击 "运行实例" 按钮查看在线实例

解构 Map

实例

// 创建一个 Map
const fruits = new Map([
  ["apples", 500],
  ["bananas", 300],
  ["oranges", 200]
]);

// 解构
let text = "";
for (const [key, value] of fruits) {
  text += key + " is " + value;
}
运行实例 »

点击 "运行实例" 按钮查看在线实例

交换 JavaScript 变量

可以使用解构赋值交换两个变量的值:

实例

let firstName = "Bill";
let lastName = "Gates";

// 解构
[firstName, lastName] = [lastName, firstName];
运行实例 »

点击 "运行实例" 按钮查看在线实例

相关

视频

RELATED VIDEOS

更多

免费

Web前端开发极速入门
初级 Web前端开发极速入门

219920次学习

收藏

免费

前端入门_HTML5
初级 前端入门_HTML5

616946次学习

收藏

免费

30分钟学会网站布局
初级 30分钟学会网站布局

238440次学习

收藏

免费

CSS视频教程-玉女心经版
初级 CSS视频教程-玉女心经版

393054次学习

收藏

免费

独孤九贱(1)_HTML5视频教程

免费

独孤九贱(6)_jQuery视频教程

免费

独孤九贱(7)_Bootstrap视频教程

免费

独孤九贱(2)_CSS视频教程
初级 独孤九贱(2)_CSS视频教程

229605次学习

收藏

科技资讯

更多

精选课程

更多
前端入门_HTML5
前端入门_HTML5

共29课时

61.7万人学习

CSS视频教程-玉女心经版
CSS视频教程-玉女心经版

共25课时

39.3万人学习

JavaScript极速入门_玉女心经系列
JavaScript极速入门_玉女心经系列

共43课时

70.9万人学习

独孤九贱(1)_HTML5视频教程
独孤九贱(1)_HTML5视频教程

共25课时

61.6万人学习

独孤九贱(2)_CSS视频教程
独孤九贱(2)_CSS视频教程

共22课时

23万人学习

独孤九贱(3)_JavaScript视频教程
独孤九贱(3)_JavaScript视频教程

共28课时

33.9万人学习

独孤九贱(4)_PHP视频教程
独孤九贱(4)_PHP视频教程

共89课时

125万人学习

关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号