ES6 解构用法

var person = {
    name: '小明',
    age: 20,
    gender: 'male',
    passport: 'G-12345678',
    school: 'No.4 middle school'
};
var {name, age, passport} = person;
console.log('name = ' + name + ', age = ' + age + ', passport = ' + passport);

==》name = 小明, age = 20, passport = G-12345678

var {...passport} = person;
console.log(passport)

==》{
    name: '小明',
    age: 20,
    gender: 'male',
    passport: 'G-12345678',
    school: 'No.4 middle school'
}

let {name, single=true} = person;

==》 name='小明',single=true

使用场景:

// 交换值
var x=1, y=2;
[x, y] = [y, x]
// 快速获取当前页的域名和路径
var {hostname:domain, pathname:path} = location;
console.log(location)
console.log(domain)
console.log(path)

如果一个函数接收一个对象作为参数,那么,可以使用解构直接把对象的属性绑定到变量中。例如,下面的函数可以快速创建一个Date对象:

function buildDate({year, month, day, hour=0, minute=0, second=0}) {
    return new Date(year + '-' + month + '-' + day + ' ' + hour + ':' + minute + ':' + second);
}
console.log(buildDate({year:2018,month:5,day:6}))

猜你喜欢

转载自blog.csdn.net/xuxu_qkz/article/details/80319201
今日推荐