解构赋值的 用途!:
1.交换变量值:
[x,y] = [y,x];
2.从函数返回多个值
//返回多个值
function example(){
return [1,2,3];
}
var [a,b,c] = example();
//返回一个对象
function example(){
return {foo:1,bar:2}
}
var {foo , bar} = example();
3.函数参数定义
//形参数组定义
function f([x,y,z]){...}// f([1,2,3]) 有序对应,位置要一致
//形参对象定义、
function f({x,y,z}){...}// f({z:10,x:8,y:7}) 无序对应,但属性名要一致
4.提取JSON数据(重要)
var jsonData = {
id : 42,
status: "OK",
data: [86,123]
}
let {id,status,data:number} = jsonData;
console.log(id,status,number)
// 42, OK, [86,123]
上面代码我们看到可以快速提取json
5.函数参数默认值
$.ajax(url,
{async = true, beforeSend = function(){},cache = true,complete = function(){},crossDomain = false,global = true}
){
//具体操作...
};
指定函数默认值,就能避免函数内部再写 var foo = config.foo || 'default foo';
6.遍历Map结构
var map = new Map();
map.set('first','hello');
map.set('second','world');
//for...of...遍历
for(let [key, value] of map){
console.log(key + " is "+ value);
}
//first is hellow
//second is world
如果只想获取键名
for (let [key] of map){...}
如果只想获取键值
for (let [,value] of map){...}
7.输入模块的指定方法
在加载模块时,往往需要指定输入哪些方法。解构赋值使得输入语句非常清晰。
const { SourceMapConsumar, SourceNode } = require("source-map");
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。