考虑一个具有 3 个(任意)参数的函数,其中两个具有默认值:
const foo = (a, b=1, c=2) => {
console.log(a,b,c);
}
Run Code Online (Sandbox Code Playgroud)
现在,我希望参数b具有默认值,参数c具有我传递的值。我做了这样的事情:
foo(0, c = 10); // Ideally, a = 0, b = 1, c = 10
Run Code Online (Sandbox Code Playgroud)
但该函数的输出是:
0 10 2
Run Code Online (Sandbox Code Playgroud)
因此,值 10 被传递到参数b而不是c。为什么即使在我明确传递了 c 的值之后仍然会发生这种情况?实现我想做的事情的正确方法是什么?