ES6 解构赋值

2018-12-14  本文已影响0人  祝名

一.数组解构赋值

1. 将结构解开,分别赋值。可以利用变量的解构赋值特点,方便的实现两个变量的值的互换。

let x = 1;
let y = 2;
[x, y] = [y, x];

2. 遵循“模式匹配” 的原则,只要左右结构格式一致,就能赋值

let [a,b,c] = [12,5,6];
let [a,[b,c]] = [1,[2,3]];

二. 对象解构赋值

1. 对象解构赋值的时候与顺序无关,只看对应的属性名和变量名。


url与name是按照属性名进行赋值匹配的
let json = {
    name:'strive';
    age:18;
};
let {name,age} = json;
console.log(name,age);

2. 解构时也可起别名

let json = {
    name:'strive';
    age:18;
};
let {name:n,age:a} = json;
console.log(n,a);
将数组中的length属性解构出来

4. 解构时可以给默认值 let [a,b,c='默认值'] = ['xxx','xxx'];

let [a,b,c='暂无数据'] = ['aa','bb'];
console.log(a,b,c);-->输出:aa,bb,暂无数据

5. null与undefined

let[a,b='暂无数据'] = [12,undefined];
-->输出暂无数据
let[a,b='暂无数据'] = [12,null];
-->输出null

6. 封装的函数或数组,直接调用返回值使用即可。

function getPost(){
    return{
        left:10,
        top:20
}
let {left,top:t} = getPost();
console.log(left,t);
function show({a,b='默认'}){
    console.log(a,b);
}
show({a:1});
-->输出:  1 默认

三. 字符串解构赋值

let [a,b,c,d] = 'Arya';
console.log(b);
-->r
let {length:len} = 'abcd';
console.log(len);
-->4
上一篇下一篇

猜你喜欢

热点阅读