当前位置: 首页 > news >正文

JavaScript 对象的解构

JavaScript 对象的解构(Destructuring Assignment)是一种从对象中快速提取属性值,并赋值给变量的简洁语法。

1. 基础语法

const obj = { a: 1, b: 2, c: 3 };// 普通写法
const a = obj.a;
const b = obj.b;// 解构写法
const { a, b } = obj;console.log(a); // 1
console.log(b); // 2

2. 解构时变量名和属性名相同

const { a, b } = obj;
变量 a 会被赋值为 obj.a 的值;变量 b 会被赋值为 obj.b 的值。

3. 给解构的变量指定默认值

const obj = { a: 1 };const { a, b = 10 } = obj;console.log(a); // 1
console.log(b); // 10 (obj 没有 b 属性,使用默认值)

4. 变量名与属性名不同时,重命名

const obj = { a: 1, b: 2 };const { a: x, b: y } = obj;console.log(x); // 1
console.log(y); // 2

5. 嵌套对象解构

const obj = {user: {name: 'Tom',age: 18,},
};const {user: { name, age },
} = obj;console.log(name); // Tom
console.log(age);  // 18

6. 函数参数解构

function printUser({ name, age }) {console.log(`姓名: ${name}, 年龄: ${age}`);
}printUser({ name: 'Alice', age: 25 });

总结

  • 对象解构是提取对象属性的简便写法,避免了重复写 obj.xxx。
  • 支持默认值、重命名和嵌套结构。
  • 用得好,可以让代码更简洁、更易读。
import lodash from 'lodash';const dictInfo = [{ type: 'fruit', name: 'apple' },{ type: 'fruit', name: 'banana' },{ type: 'vegetable', name: 'carrot' }
];const grouped = lodash.groupBy(dictInfo, 'type');console.log(grouped);
/*
{fruit: [{ type: 'fruit', name: 'apple' },{ type: 'fruit', name: 'banana' }],vegetable: [{ type: 'vegetable', name: 'carrot' }]
}
*/
const {fruit,vegetable,} = lodash.groupBy(dictInfo, 'type');
http://www.dtcms.com/a/320870.html

相关文章:

  • 5. 缓存-Redis
  • windows 上编译PostgreSQL
  • 极地轨道卫星定位数量问题
  • 数学建模——遗传算法
  • Effective C++ 条款30:透彻了解inlining的里里外外
  • Python名称映射技术:基于序列元素的高级访问模式详解
  • 嵌入式 - 数据结构:哈希表和排序与查找算法
  • 为什么提升模型尺度可以提升模型的CoT能力
  • 浏览器面试题及详细答案 88道(01-11)
  • WPF 表格中单元格使用下拉框显示枚举属性的一种方式
  • Ignite内部事件总线揭秘
  • SQL Server 2019搭建AlwaysOn高可用集群
  • Java学习进阶--集合体系结构
  • Redis是单线程性能还高的原因
  • SiLM92108高度集成8通道门极驱动,赋能汽车与工业电机精准控制
  • 【SpringBoot】SpringBoot配置
  • Go语言实战案例:用net/http构建一个RESTful API
  • 微信小程序功能 表单密码强度验证
  • 主播生活模拟器2|主播人生模拟器2 (Streamer Life Simulator 2)免安装中文版
  • 具身智能模型赋能工业巡检:Deepoc开发板如何重塑机器人认知边界
  • AI搜索引擎——DeepSeek崛起 || #AIcoding·八月创作之星挑战赛# || 简单版
  • 嵌入式硬件接口总结
  • 免费PDF翻译 离线自建
  • 免费PDF批量加密工具
  • 麦肯锡如何围绕AI有效地重塑业务
  • 2025产品经理接单经验分享与平台汇总
  • 腾讯云 CodeBuddy IDE:可以使用gpt5的ide
  • 如何将视频转为GIF格式,3大视频转为GIF工具
  • RAG上下文工程与提示词优化
  • 全栈:Tomcat 安装教程