ECMAScript 6 —— 知识点(二)

一、变量的解构赋值
1、数组解构

let [foo,x,,y] = [1,2,3,4];
console.log(foo);//1
console.log(x);//2
console.log(y);//4
let [a,b=4,c] = [,,3];
console.log(a);//undefined
console.log(b);//取默认值 4
console.log(c);//4

2、 对象解构

let user ={ "userid":1999,"name":"Tom","age":18,"address":"东兴路9号"};
const {userid,name,age} = user;
console.log(userid);//1999
console.log(name);
console.log(age);
({}=[1,2]);//执行解构,解构成功
({}='abc');
({}=[]);//解构成功

3、字符串、布尔值等的解构(原型解构)

const [a,b,c,d,f] = 'hello';
let {length:len,split:func} = 'hello';
console.log(len);//5
let arr = func.call('我,是,中,国,人',',');
console.log(arr);//['我','是','中','国','人']
let {toString:fn} = 123;
let {toString:fn} = true;

4、函数参数解构赋值

function fun([x,y]){
    return x + y;
}

5、解构用途

let {x,y}={x:1,y:2};
[x,y] = [y,x];// 交换x和y的值

let [a,b,c]=(()=>{
    return [1,2,3];
})();// 映射函数值
console.log('a:',a);
console.log('b:',b);
console.log('c:',c);
//函数参数的定义
function f1([x,y,z]){}//参数是一组有次序的值
function f2({x,y,z});//参数是无序值
f1([1,2,3])();
f2({z:1,y:2,x:3});
//遍历 Map 解构
let map = new Map();
map.set('name','Tom');
map.set('mobile','12124545');
for(let [key,value] of map){
    console.log(key +' is ' + value)
}
for(let [key] of map){}
for(let [,value] of map){}
//加载模块方法
const {fortmatTime} = require('../utils');

猜你喜欢

转载自blog.csdn.net/wuxinwudai/article/details/80824472