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"
相关推荐
Profile排查笔记5 小时前
指纹浏览器哪个好?从 Profile、代理、权限和自动化能力判断是否适合
前端·人工智能·后端·自动化
lzhdim5 小时前
12、JavaScript常见的内存泄露问题 - JavaScript学习系列文章
开发语言·前端·javascript·学习·ecmascript
denggun123455 小时前
yield
前端·数据库·python
前端snow5 小时前
ai agent -- prompt汇总
前端
muddjsv7 小时前
前端性能优化实战:从加载到渲染的全面提速指南
前端·性能优化
deli0070077 小时前
JSON 树形查看器:粘贴即解析,折叠展开一目了然
前端·数据库·json·ai编程
guanguan0_07 小时前
PageProxy:页面维度接口地图 + 一键场景切换
前端·ai编程·请求代理·proxy工具
liangshanbo12158 小时前
虚拟列表深度面试题整理
java·开发语言·前端
IT_陈寒8 小时前
Redis内存警告竟是因为这个不起眼的配置项
前端·人工智能·后端
lilian2338 小时前
Harmony os 技术实战|拼豆制图43:压缩字符矩阵上线前如何拦住错位图纸
开发语言·前端·华为·矩阵·harmonyos