您的位置:首页 > 其它

ES6—解构赋值的用途

2017-05-04 21:55 363 查看

交换变量的值

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


从函数返回多个值

//返回一个数组
function exp(){
return [1,2,3]
}
let [a,b,c] = exp()
//返回一个对象
function exp(){
return {
status:'ok',
data:'success'
}
}
let {status,data} = exm()


函数参数的定义

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


提取json数据

let jsonData = {
status:'ok',
data:'这是返回的数据'
}
let {status,data} = jsonData


函数参数的默认值

指定参数的默认值,就避免了在函数体内部再写var foo = config.foo || ‘default foo’;这样的语句。

jQuery.ajax = function (url, {
async = true,
beforeSend = function () {},
cache = true,
complete = function () {},
crossDomain = false,
global = true,
// ... more config
}) {
// ... do stuff
};


遍历Map结构

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

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


如果只想获取键名,或者指向获取键值,可以这样写:

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


输入模块的指定方法

const { SourceMapConsumer, SourceNode } = require("source-map")


文章参考: 阮一峰ECMAScript6入门
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: