延展操作符(…)
function showMe(name,age)
{
return "名字是"+name+"年龄是"+age;
}
var name = "zhangsan";
var age = 18;
console.log(showMe(name,18));//名字是zhangsan年龄是18
//或
var me = ["jack",20];
console.log(showMe(...me));//名字是jack年龄是20
改成ES2015的写法:
let showMe = (name,age)=>`${name}的年龄是${age}`;
//
let me = ["lily",18];
console.log(showMe(...me));//lily的年龄是18
解构结合延展操作符
let [sex,...me] = ["男","jack",18];
console.log(me.length);//2
//里面的me仍然会变成数组,而且值就是"jack",18
默认值
var [name="jack",age=18] = [];
//这时左右2边就不需要对等,因为name和age都有默认值
//实战中的做法
let getName = ()=> {
//这里做业务处理,如果没有取到值,则返回一个undefined
return undefined;
}
let [sex="男",name="jack",age=18] = [,getName(),];
console.log(name);//jack
如果返回false
//实战中的做法
let getName = ()=> {
//这里做业务处理,如果没有取到值,则返回一个undefined
return false;
}
let [sex="男",name="jack",age=18] = [,getName(),];
console.log(name);//那么这里就打印:false