es6 的解构赋值

1.数组的结构赋值

以前,为变量赋值,只能直接指定值。

javascript 复制代码
let a = 1;
let b = 2;
let c = 3;

ES6 允许写成下面这样。

javascript 复制代码
let [a, b, c] = [1, 2, 3];
console.log(a);//1
console.log(b);//2
console.log(c);//3

上面代码表示,可以从数组中提取值,按照对应位置,对变量赋值

本质上,这种写法属于"模式匹配",只要等号两边的模式相同,左边的变量就会被赋予对应的值。

2.对象的解构赋值

对象的解构与数组有一个重要的不同。数组的元素是按次序排列的,变量的取值由它的位置决定;而对象的属性没有次序,变量必须与属性同名,才能取到正确的值

javascript 复制代码
  let { bar1, foo } = { foo: 'aaa', bar1: 'bbb' };
        console.log(
            foo, // "aaa"
            bar1 // "bbb"
        );
  let { baz } = { foo: 'aaa', bar: 'bbb' };
  console.log(baz);// undefined

如果解构失败,变量的值等于undefined

3.字符串的解构赋值

字符串也可以解构赋值。这是因为此时,字符串被转换成了一个类似数组的对象。

javascript 复制代码
 const [a, b, c, d, e] = 'hello';
 console.log(a, b, c, d, e); // "h e l l o"
相关推荐
LJC_Superman33 分钟前
Web与Nginx网站服务
运维·服务器·前端·网络·数据库·nginx·vim
星秋Eliot42 分钟前
Flutter的三棵树
前端·flutter
正义的大古43 分钟前
OpenLayers常用控件 -- 章节六:全屏控件教程
前端·javascript·html·openlayers
lypzcgf1 小时前
Coze源码分析-资源库-删除插件-前端源码-核心组件实现
前端·typescript·前端框架·react·coze·coze插件·智能体平台
草梅友仁3 小时前
草梅 Auth 1.6.0 发布密码强度组件 Twilio 短信支持 | 2025 年第 36 周草梅周报
前端·开源·github
正义的大古3 小时前
OpenLayers常用控件 -- 章节七:测量工具控件教程
前端·javascript·vue.js·openlayers
Hashan3 小时前
深入理解:Webpack编译原理
前端·webpack
雲墨款哥3 小时前
一个前端开发者的救赎之路-JS基础回顾(五)-数组
前端·javascript·面试
朱程4 小时前
深入JS(一):手写 Promise
前端·javascript
Hierifer4 小时前
跨端技术:浅聊双线程原理和实现
前端