此代码无效。但是我可以只更改最后一个预设参数吗?
function test(a=1,b=2,c=3){
console.log("abc"+a+b+c);
}
test(,,2);
答案 0 :(得分:3)
是的,请为前两个传递undefined
:
function test(a=1,b=2,c=3){
console.log("abc"+a+b+c);
}
test(undefined, undefined, 2);
如果该参数的自变量的有效值为undefined
,则使用默认参数值。有两种发生方式:
undefined
的形式通过),或者undefined
。答案 1 :(得分:3)
通过undefined
。供参考,Passing_undefined_vs._other_falsy_values
function test(a=1,b=2,c=3){
console.log("abc"+a+b+c);
}
test(undefined, undefined,2);
答案 2 :(得分:1)
可以这样做:
test(...[, , 2]);
或者这个:
test(...Array(2), 2);
function test(a = 1, b = 2, c = 3) {
console.log(a, b, c);
}
test(...[, , 2]);
test(...Array(2), 2);
尽管显式传递undefined
更具可读性。