解锁 JavaScript 解构赋值的 5 个隐藏技巧

简介: 解锁 JavaScript 解构赋值的 5 个隐藏技巧

解锁 JavaScript 解构赋值的 5 个隐藏技巧

解构赋值是我们日常开发中的常用语法,但除了基本的对象和数组取值,它还有一些鲜为人知的妙用。今天分享几个能提升代码质量的实用技巧。

1. 重命名与默认值同时使用

当从 API 获取数据时,我们经常需要重命名属性并设置默认值:

const userData = {
    name: '张三' };
const {
    name: userName = '匿名用户' } = userData;
console.log(userName); // 输出:'张三'

2. 嵌套对象的深度解构

处理复杂数据结构时,可以一路解构到底:

const response = {
   
  data: {
    user: {
    profile: {
    email: 'test@example.com' } } }
};
const {
    data: {
    user: {
    profile: {
    email } } } } = response;

3. 在函数参数中直接解构

让函数签名更清晰,同时设置默认值:

function createUser({
    name = '新用户', age = 18, email = '未设置' } = {
   }) {
   
  console.log(`创建用户:${
     name},年龄:${
     age}`);
}
createUser({
    name: '李四' }); // 年龄使用默认值 18

4. 交换变量的优雅方式

不再需要临时变量:

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

5. 选择性提取属性

从大对象中提取需要的属性,同时收集剩余部分:

const person = {
    name: '王五', age: 28, city: '北京', job: '工程师' };
const {
    name, age, ...rest } = person;
console.log(rest); // { city: '北京', job: '工程师' }

这些技巧能让你的代码更简洁、更易维护。下次写 JavaScript 时,不妨尝试用起来!

目录
相关文章
|
5月前
|
人工智能 弹性计算 监控
OpenClaw超全指南!是什么?能干嘛?怎么部署?
OpenClaw(龙虾)是一款开源AI智能体,可直接操作本地电脑:文件管理、终端命令、浏览器自动化、代码编写、邮件处理、定时任务等。阿里云提供一键部署方案,三步即可拥有专属AI助理,解放双手!
2719 130
|
5月前
|
JavaScript 前端开发
JavaScript小技巧:数组去重的几种优雅写法
JavaScript小技巧:数组去重的几种优雅写法
538 142
|
5月前
|
存储 弹性计算 关系型数据库
阿里云服务器4核16G可选实例规格、收费标准、适用场景及活动价格
阿里云4核16G云服务器提供多样化实例规格,满足不同场景需求。收费模式灵活,支持按量付费和包年包月,其中包年包月性价比最高。目前4核16G配置选择经济型e实例的活动价格为2174.57元起,通用算力型u2i实例1576.80元起,通用型g9i实例3944.23元起。
|
5月前
|
缓存 编译器 程序员
C语言深度解析:restrict关键字——编译器性能优化的终极钥匙
C99的`restrict`关键字是C语言性能优化的“终极钥匙”:它向编译器承诺指针独占访问内存,彻底解决同类型指针别名问题,解锁循环向量化、寄存器缓存等激进优化。滥用致未定义行为,善用则性能飙升数倍——这才是真正高阶C程序员的必修课。(239字)
|
5月前
|
人工智能 API 网络安全
保姆级图文教程!阿里云轻量服务器部署OpenClaw+Docker极简方案+Skills集成及避坑指南
2026年,OpenClaw(曾用名Clawdbot)已成为开源AI自动化代理领域的标杆产品,凭借轻量化运行、自然语言驱动、插件化扩展三大核心优势,广泛应用于文件管理、信息检索、定时任务、网页自动化、内容处理等日常效率场景。对于零基础用户而言,阿里云轻量应用服务器是部署OpenClaw的最优载体——操作简单、性价比高、环境稳定且自带官方优化镜像,全程无需复杂运维知识,小白也能快速完成从服务器创建到AI助手上线的全流程。
1259 3
|
5月前
|
存储 人工智能 自然语言处理
MIT论文解读:LLM 会被自身历史回复拖累 ,上下文污染会导致多轮对话质量衰减
MIT 2026年重磅论文揭示:AI多轮对话中,保留自身历史回复反而导致“上下文污染”,引发幻觉累积与质量滑坡。实验证明,移除AI过往回复可缩减上下文达10倍,70%轮次质量不变。这挑战了行业默认设计,呼吁从“堆叠历史”转向“智能省略”。
941 2
MIT论文解读:LLM 会被自身历史回复拖累 ,上下文污染会导致多轮对话质量衰减
|
5月前
|
存储 监控 安全
Java ZGC:亚毫秒级停顿的低延迟GC 革命性底层设计
ZGC是Java里程碑式低延迟GC:通过有色指针与读屏障,实现亚毫秒级STW停顿(<1ms),且停顿时间不随堆大小(8MB–16TB)或存活对象增长。JDK21起为默认GC,兼顾高吞吐(损耗≤15%),彻底解决传统GC停顿劣化难题。
770 6
|
5月前
|
机器学习/深度学习 PyTorch TensorFlow
从 0 到 1 写一个神经网络训练循环:别再只会 `model.fit()` 了
从 0 到 1 写一个神经网络训练循环:别再只会 `model.fit()` 了
487 7
|
5月前
|
分布式计算 Kubernetes Spark
Spark / Flink 跑在 Kubernetes 上真的更香吗?聊聊那些没人提前告诉你的性能坑
Spark / Flink 跑在 Kubernetes 上真的更香吗?聊聊那些没人提前告诉你的性能坑
531 7