您的位置:首页 > 其它

变量解构赋值的用途

2016-12-09 11:45 239 查看
变量解构赋值用途很多

1.交换变量的值

[x,y] = [y,x];


2.从函数返回多个值

函数只能返回一个值,如果要返回多个值,只能把它们放在数组或对象里返回。有了解构赋值,取出这些值就非常方便了。

// 返回一个数组
function f(){
return [1,2,3];
}
var [a,b,c] = f();

// 返回一个对象
function f(){
return {foo:1, bar:2};
}
var {foo,bar} = f();


3.函数参数的定义

解构赋值可以方便地把一组参数和变量名对应起来

// 参数是一组有序的值
function f([x,y,z]){
...
}
f([1,2,3]);

// 参数是一组无次序的值
function f({x,y,z}){
...
}
f({z:3,y:2:x:1});


4.提取JSON数据

var jsonData = {id:42,status:"ok",data:[867,5309]};

let {id,status,data:number} = jsonData;
console.log(id,status,number); // 42,"ok",[867,5309]


5.遍历Map结构

任何部署了Iterator接口的对象,都可以用
for..of
循环遍历。Map结构原生支持Iterator接口,配合变量的结构赋值,获取键名和赋值就非常方便。

var map = new Map();
map.set("first","hello");
map.set("second","world");

for(let [key,value] of map){
console.log(key+"=="+value);
}
// first==hello
// second==world


如果只想获取键名,或者只想获取键值,可以写成下面这样:

// 获取键名
for(let [key] of map){
// ...
}

// 获取键值
for(let [,value] of map){
// ...
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: