一、参数
1、ES6
允许为函数的参数设置默认值
function add(x,y=100){
return x + y;
}
console.log(demo1(10,110)); // 120
console.log(demo1(10)); // 110
2、函数的形参是默认声明的,不能使用let
或const
再次声明
function add(x = 5) {
let x = 1; // error
const x = 2; // error
}
3、 参数默认值可以与解构赋值的默认值结合起来使用
function add({x, y = 5}) {
console.log(x, y);
}
add({}) // undefined 5
add({x: 1}) // 1 5
add({x: 1, y: 2}) // 1 2
add() // TypeError: Cannot read property 'x' of undefined
4、上面的add函数,当参数为对象的时候才能进行解构,如果没有提供参数的时候,变量x
和y
就不会生成,从而报错,这里设置默认值避免
function foo({x, y = 5} = {}) {
console.log(x, y);
}
foo() // undefined 5