解构的做用是能够快速取得数组或对象当中的元素或属性,而无需使用arr[x]或者obj[key]等传统方式进行赋值ajax
字符串也能够解构赋值。这是由于此时,字符串被转换成了一个相似数组的对象json
const [a,b,c,d,e] = hello;
a //"h"
b //"e"
c //"l"
d //"l"
e //"o"
复制代码
相似数组的对象都有一个length对象,所以还能够对这个对象进行解构赋值数组
let {length:len} = "hello";
len //5
复制代码
let x = 1;
let y = 2;
[x,y] = [y,x];
console.log(x,y) //x=2,y=1;
复制代码
这样的写法不只简洁,语义很是清晰。bash
函数只能反悔哦一个值,若是要返回多个值,只能将他们放在数组或对象中返回,有了解构赋值,取出这些值就很是方便antd
//返回一个数组
funlction example(){
return [1,2,3]
}
let [a.b,c] = example()
复制代码
解构赋值能够方便的将一组参数与变量名对应起来async
//参数是一组有次序的值
function f([x,y,z]){
...
}
f([1,2,3])
//参数是一组无次序的值
function f({x,y,z}){
...
}
f({Z:3,y:2,X:1})
复制代码
解构赋值对提取JSON中的数据尤为有用函数
let jsonData ={
id :42,
status:"Ok",
data:[874,125]
}
let {id,status,data:number0} = jsonData;
复制代码
JQuery.ajax = function(url,{
async = true ,
before = funkction(){},
cache = true
})
{
}
复制代码
指定参数的默认值,就避免了在函数体内部再写var foo = config.foo || "default foo"这样的语句了ui
任何部署了Iterator接口的对象,均可以用for..of循环遍历,Map结构原生支持Iterator接口,配合变量的解构赋值,获取键名和键值就很是的方便url
let map = new Map();
map.set('first','hello');
map.set('second','world');
for ( let [key,value] of map){
console.log(key,value)
}
复制代码
若是只想获取键值或者键名能够写成下面这样spa
//获取键名
for( let [key] of map){
}
//获取键值
for(let [,value] of map){
}
复制代码
加载模块时,每每须要指定输入哪些方法,解构赋值是的输入语句很是清晰
import {Title,Link} from ‘antd’
复制代码