最近在复习 es6 的语法,再次看的过程中,有很多细节以及容易犯的错误,在这里做一下记录,以便以后多次查看复习:
函数的参数使用默认值的时候,需要注意的地方:
function func1({x = 0, y = 0} = {}) {
return [x, y];
}
func1({x: 3, y: 8}); // [3, 8]
func1({x: 3}); // [3, 0]
func1({}); // [0, 0]
func1(); // [0, 0]
上面的代码里是对函数的参数 x, y 指定了默认值;
但是下面的代码里其实是对函数的整体参数指定了默认值,而不是为变量 x 和 y 指定默认值
function func2({x, y} = { x: 0, y: 0 }) {
return [x, y];
}
func2({x: 3, y: 8}); // [3, 8]
func2({x: 3}); // [3, undefined]
func2({}); // [undefined, undefined]
func2(); // [0, 0]