当前位置: 首页 > news >正文

ES6-解构赋值

可以将值从数组或属性从对象提取道不同的变量中。

交换变量

let a = 1
let b = 2
[ a, b ] = [ b, a ]//a=2,b=1

数组

const arr = [1,2,3,4];
let [a,b,c,d] = arr;//a=1,b2,c=3,d=4
let [foo] = [];
let [bar, foo] = [1];//bar=1,foo=undefined

 防止从数组中取出一个值为undefined的对象,可以在表达式左边的数组中为任意对象预设默认值;对象同理。

[a = 5, b = 7] = [1];
console.log(a); // 1
console.log(b); // 7

对象

({ a, b } = { a: 10, b: 20 });
console.log(a); // 10
console.log(b); // 20
var o = { p: 42, q: true };
var { p: foo, q: bar } = o;
console.log(foo); // 42
console.log(bar); // true
var { a: aa = 10, b: bb = 5 } = { a: 3 };
console.log(aa); // 3
console.log(bb); // 5

扩展运算符

[a, b, ...rest] = [10, 20, 30, 40, 50];
console.log(a); // 10
console.log(b); // 20
console.log(rest); // [30, 40, 50]
({ a, b, ...rest } = { a: 10, b: 20, c: 30, d: 40 });
console.log(a); // 10
console.log(b); // 20
console.log(rest); // {c: 30, d: 40}

忽略某些返回值

function f() {
	return [1, 2, 3];
}
var [a, , b] = f();
console.log(a); // 1
console.log(b); // 3

相关文章:

  • python爬虫爬取电影数据并做可视化
  • ip地址怎么改网速快
  • Mac 安装软件各种报错解决方案
  • HarmonyOS应用开发—资源分类与访问
  • MFC多文档程序,从菜单关闭一个文档和直接点击右上角的x效果不同
  • 【漏洞复现】泛微e-office OfficeServer2.php 存在任意文件读取漏洞复现
  • 【教程】微信小程序导入外部字体详细流程
  • 面试被问:Mysql的InnoDB下RR是如何解决幻读问题的
  • win系统环境搭建(三)——Windows安装maven
  • 练习敲代码速度
  • 刷一下算法
  • 音视频转换器 Permute 3 for mac中文
  • Nacos注册中心
  • SWC 流程
  • Electron(v26.2.1)无法加载React Developer Tools(v4.28.0)
  • 深度学习的三维重建 论文+源码+解析+译文+批注 MVSNet系列最新顶刊总结 下载
  • Java工具类Hutool使用
  • Layui + Flask | 表单元素(组件篇)(06)
  • Qt(day2)
  • 浏览器报错内容:Provisional headers are shown
  • 投资者建议发行优惠套票给“被套”小股东,张家界:将研究考虑
  • 中吉乌铁路重点控制性工程开工建设,包括三座隧道
  • 蔡澜回应“入ICU观察”称未至于病危,助理:只是老毛病
  • 违规行为屡禁不止、责任边界模糊不清,法治日报:洞穴探险,谁为安全事故买单?
  • 80后共青团云南省委副书记许思思已任迪庆州委副书记
  • 浙江官宣:五一假期,没电、没气、没油车辆全部免费拖离高速