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"
相关推荐
CsharpDev-奶豆哥几秒前
jq获取html字符串中的图片逐个修改并覆盖原html的解决方案
前端·html
IT_陈寒23 分钟前
Python性能优化:用这5个鲜为人知的内置函数让你的代码提速50%
前端·人工智能·后端
简小瑞25 分钟前
VSCode源码解密:一行代码解决内存泄漏难题
前端·设计模式·visual studio code
邢行行25 分钟前
Node.js 核心模块与模块化笔记
前端
Asort26 分钟前
JavaScript设计模式(九)——装饰器模式 (Decorator)
前端·javascript·设计模式
Man26 分钟前
🔥 Vue3 动态 ref 黑科技:一招解决 v-for 中的组件引用难题!
前端·vue.js
接着奏乐接着舞。27 分钟前
3D地球可视化教程 - 第3篇:地球动画与相机控制
前端·vue.js·3d·threejs
小小前端_我自坚强28 分钟前
2025WebAssembly详解
前端·设计模式·前端框架
用户14125016652728 分钟前
一文搞懂 Vue 3 核心原理:从响应式到编译的深度解析
前端
正在走向自律30 分钟前
RSA加密从原理到实践:Java后端与Vue前端全栈案例解析
java·前端·vue.js·密钥管理·rsa加密·密钥对·aes+rsa