解构赋值是什么?/使用场景 解构赋值是什么 快速从数组、对象里掏出数据直接赋值,不用一遍遍点属性、下标取值,代码更短。 使用场景 对象解构按属性名匹配,数组解构按顺序迭代取值,自动拆包赋值。
解构赋值是ES6最实用的语法之一核心就一句话快速从数组、对象中批量取值赋值不用反复写下标、点属性让代码更短、更干净。本文精简干货只讲必学核心开发常用场景避坑点看完直接上手写代码。一、核心原理一眼看懂解构赋值就是「批量拆包赋值」两种规则牢牢记住数组解构按顺序匹配只看位置对象解构按属性名匹配不看顺序极简对比为什么要用数组取值对比// 传统写法const arr [10, 20, 30];const a arr[0];const b arr[1];// 解构写法一行搞定const [a, b] arr;2. 对象取值对比// 传统写法const user { name: “前端”, age: 25 };const name user.name;const age user.age;// 解构写法const { name, age } user;二、必须掌握的基础用法2.1 数组解构常用技巧// 1. 跳过元素逗号占位const [a, , c] [1, 2, 3]; // a1、c3// 2. 默认值兜底防止 undefinedconst [n 0] []; // n0// 3. 剩余参数收纳只能放最后const [first, …rest] [1,2,3,4]; // first1rest[2,3,4]2.2 对象解构常用技巧// 1. 基础解构const { name, age } user;// 2. 属性重命名解决变量名冲突const { bookName: name } { bookName: “JS教程” };// 3. 重命名 默认值const { price 0 } {};// 4. 嵌套解构适配接口多层数据const { data: { username } } res;三、开发高频使用场景90%项目都在用场景1函数参数解构最常用不用在函数内反复取值参数直接解构代码极简。function getUser({ name, age 18 }) {console.log(name, age);}场景2接口返回数据解构告别多层 res.data.xxx快速提取核心数据。async function getData() {const res await fetch(“/api”);const { code, data [], msg } await res.json();}场景3变量快速交换无需临时变量let a 1, b 2;[a, b] [b, a]; // 一行完成交换场景4数组遍历解构const list [{id:1, name:“张三”}];list.forEach(({ id, name }) console.log(id, name));场景5模块按需导入import { ref, reactive } from “vue”;import { debounce } from “lodash”;四、关键避坑点新手必看对象看名字数组看顺序对象解构顺序无效属性名错了就是 undefined默认值只兜底 undefinednull、0、空字符串不会触发默认值剩余参数放末尾数组解构…rest 必须在最后否则报错空数据必加默认值解构空对象/空数组容易出现 undefined核心数据建议兜底五、总结解构赋值核心价值简化取值逻辑、精简冗余代码、提升可读性。记住两大核心数组按序、对象按名配合默认值、重命名、剩余参数就能覆盖前端所有开发场景。