当前位置: 首页 > 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
  • 世界读书日丨人均一年超10本!你达到上海平均阅读水平了吗
  • 深一度|坚守17年,这件事姚明就算赔钱也在继续做
  • 资深翻译家、斯诺研究专家安危逝世,曾为多位外国元首做口译
  • 执政将满百日,特朗普政府面临国内“三重暴击”
  • 史蒂夫·麦奎因透露罹患前列腺癌,呼吁同胞莫受困于男性气概
  • 中方决定对在涉港问题上表现恶劣的美国国会议员等实施制裁