ES5 中如果函数在调用时未提供隐式参数,
参数会默认设置为: undefined
ES6 允许给函数参数赋初始值
效果:属性用起来更方便,没有传也有默认值
实例,给形参初始值
注意:具有默认值的参数,一般放在最后(潜规则)
function add(a,b,c = 10){
return a + b + c;
}
let result = add(1,2);
console.log(result);
打印结果:13
如果不给c初始值,即将
= 10删掉
打印结果:NaN
原因:c为undefined ,即a+b+c 为 3+undefined 形式
与解构对象结合
function connect({host="127.0.0.1",username,port}){
console.log(host)
console.log(username)
console.log(port)
}
connect({
username:'root',
port:3306
})
打印结果
对象connect未声明host,但在解构时初始化了
如果connect中声明了host,则打印connect中host的值,无视‘127.0.0.1’
function connect({host="127.0.0.1",username,port}){
console.log(host)
console.log(username)
console.log(port)
}
connect({
host:"255.255.255.0",
username:'root',
port:3306
})
打印结果
关于解构赋值笔记,戳我跳转