Es6-函数参数的默认值

135 阅读1分钟

一 函数参数的默认值

1.认识函数参数的默认值

调用函数的时候传参了,就用传递的参数;如果没有传参,就用默认值 multiply(2,1) multiply(2)

2.函数参数的默认值的基本用法

const multiply=(x,y)=>{
    if(typeof y === 'undefined'){
        y=1;
    }
    return x*y
}
const multiply =(x,y=1)=>{
    return x*y
};
console.log(multiply(2,2));

二 函数参数默认值的注意事项

1.默认值的生效条件

不传参数,或者明确的传递undefined作为参数,只有这两种情况下,默认值才会生效

const multiply=(x,y=1)=>x*y;
console.log(multiply(2,0));
console.log(multiply(2,null));
console.log(multiply(2,undefined));
console.log(multiply(2));

2.默认值表达式

如果默认值是表达式,默认值表达式是惰性求值的

3.设置默认值的小技巧

函数参数的默认值,最好从参数列表的右边开始设置

const multiply=(x=1,y)=>x*y;
console.log(multiply(undefined,2));
const multiply=(x,y=1)=>x*y;
console.log(multiply(2));

三 函数参数默认值的应用

1.接收很多参数的时候

const logUser=(username="Zhangsan",age=0,sex='male')=>console.log(username,age,sex);
logUser('alex','18','male')
logUser()

2.接收一个对象作为参数

const logUser=options=>console.log(options.username,options.age,options.sex);
logUser({
    username:'alex',age:18,sex:'male'
})
const logUser=({usename='zhangsan',age=0,sex='male'}={})=>console.log(usename,age,sex);
logUser();