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的对象,可以在表达式左边的数组中为任意对象预设默认值;对象同理。文章来源地址https://uudwc.com/A/zkrrg

[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

原文地址:https://blog.csdn.net/weixin_46479909/article/details/132922862

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请联系站长进行投诉反馈,一经查实,立即删除!

h
上一篇 2023年09月23日 23:05
下一篇 2023年09月23日 23:05