图片授权基于CC0协议
复习了一下 ES6 变量的解构赋值。
let arr = [10,20,30];
let [a,b,c] = arr;
console.log(a,b,c);//10,20,30
let obj = { foo: \\\'aaa\\\', bar: \\\'bbb\\\' };
let { foo, bar } = obj;
console.log(foo,bar);//aaa,bbb
function bar(){
return {
x:4,
y:5,
z:6,
}
}
var {x:bam,y:baz,z:bap} = bar();
console.log(bam,baz,bap);//4,5,6
console.log(x,y,z);//x is not defined
平时的变量赋值中,x 是变量,4 赋值给 x;
x = 4; //变量 = 值
x = bam; //源值 = 赋值的目标变量
对象表达式的 () 包含
let a,b,c;
function bar(){
return {
a:4,
b:5,
c:6,
}
}
({a,b,c} = bar())
console.log(a,b,c);//4,5,6
let x = 10, y = 20;
[y,x] = [x,y]
console.log(20,10);
重复赋值
let {a:x,a:y} = {a:1};
console.log(x,y);
JavaScript 性能测试
参考资料:
《Vue.js源码全方位深入解析》
http://es6.ruanyifeng.com/#docs/destructuring
原创文章,作者:小道研究,如若转载,请注明出处:https://www.sudun.com/ask/34478.html