function myfunc( value1, value2='defaultValue' ) {
//some stuff
}
我怎么知道参数是否传入函数。我知道如果你不传递任何东西作为参数,默认值将被设置。我实际上想检查用户是否将任何东西作为第二个参数传递(即使它与默认值相同)并更改我的返回相应的值(value)。
我正在查看 ES6 docs和 this SO answer , 不是我真正想要的。
谢谢,
最佳答案
arguments
仍然代表您发送的实际参数,因此 arguments.length
将为您提供该信息。
function myfunc( value1, value2='defaultValue' ) {
console.log("value1", value1);
console.log("value2", value2);
console.log("length", arguments.length);
}
myfunc("foo");
在兼容的 JavaScript 引擎上,输出
value1 foo value2 defaultValue length 1但是,
arguments
在箭头函数中不起作用,estus发布a good alternative that does .
关于javascript - 带有默认参数 : Whether a parameter is passed in or not 的 ES6,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40789644/