当前位置:首页 > JavaScript

js实现解构赋值

2026-02-02 21:33:31JavaScript

解构赋值基础语法

解构赋值允许从数组或对象中提取值,并赋给对应的变量。JavaScript中解构赋值分为数组解构和对象解构两种形式。

数组解构示例:

const arr = [1, 2, 3];
const [a, b, c] = arr;
console.log(a, b, c); // 输出: 1 2 3

对象解构示例:

const obj = { x: 10, y: 20 };
const { x, y } = obj;
console.log(x, y); // 输出: 10 20

默认值设置

解构时可以设置默认值,当对应位置值为undefined时会使用默认值。

数组解构默认值:

const [d = 5, e = 6] = [1];
console.log(d, e); // 输出: 1 6

对象解构默认值:

const { z = 30 } = {};
console.log(z); // 输出: 30

嵌套解构

支持嵌套数组或对象的解构赋值。

嵌套数组解构:

const nestedArr = [1, [2, 3], 4];
const [f, [g, h], i] = nestedArr;
console.log(f, g, h, i); // 输出: 1 2 3 4

嵌套对象解构:

const nestedObj = { p: { q: 42 } };
const { p: { q } } = nestedObj;
console.log(q); // 输出: 42

别名设置

对象解构时可以为属性设置别名。

const obj = { m: 100, n: 200 };
const { m: newM, n: newN } = obj;
console.log(newM, newN); // 输出: 100 200

剩余模式

使用...语法捕获剩余的值。

数组剩余模式:

const [j, ...rest] = [1, 2, 3];
console.log(j, rest); // 输出: 1 [2, 3]

对象剩余模式:

const { k, ...others } = { k: 10, l: 20, m: 30 };
console.log(k, others); // 输出: 10 { l: 20, m: 30 }

函数参数解构

直接在函数参数中使用解构赋值。

数组参数解构:

function foo([a, b]) {
  console.log(a + b);
}
foo([1, 2]); // 输出: 3

对象参数解构:

function bar({ name, age }) {
  console.log(`${name} is ${age} years old`);
}
bar({ name: 'Alice', age: 25 }); // 输出: Alice is 25 years old

解构赋值常见应用场景

交换变量值:

let x = 1, y = 2;
[x, y] = [y, x];
console.log(x, y); // 输出: 2 1

处理函数返回的多个值:

function getCoords() {
  return [10, 20];
}
const [lat, lng] = getCoords();

模块导入时的解构:

js实现解构赋值

const { useState, useEffect } = require('react');

标签: 赋值js
分享给朋友:

相关文章

js实现文件下载

js实现文件下载

使用 a 标签下载文件 通过动态创建 a 标签并设置 download 属性实现文件下载。适用于已知文件 URL 或 Blob 数据的情况。 function downloadFile(url, f…

js实现vr

js实现vr

使用WebXR API实现VR体验 WebXR是浏览器中实现VR和AR体验的标准API,它取代了早期的WebVR。现代浏览器如Chrome、Edge和Firefox已支持WebXR。 // 初始化W…

jquery js

jquery js

jQuery 简介 jQuery 是一个快速、简洁的 JavaScript 库,简化了 HTML 文档遍历、事件处理、动画和 Ajax 交互。它兼容多种浏览器,提供易于使用的 API,使开发者能够更高…

js类实现

js类实现

使用类实现 JavaScript 功能 在 JavaScript 中,类(Class)是一种语法糖,基于原型继承机制。通过 class 关键字可以更直观地定义对象模板。 基本类定义 class…

js实现祖玛

js实现祖玛

实现祖玛游戏的核心思路 祖玛游戏的核心玩法是发射彩色珠子,形成三个或以上相同颜色的珠子即可消除。以下是使用JavaScript实现的基本框架。 游戏初始化 创建画布并初始化游戏状态: const…

利用js实现

利用js实现

使用 JavaScript 实现 在 JavaScript 中,可以通过多种方式实现功能,具体取决于需求。以下是几种常见的方法: 方法一:使用原生 JavaScript // 示例代码…