ted*_*ted 1 javascript ecmascript-6
假设我有一个带有三个参数的函数,其中两个具有默认值:
function f(a, b=2, c=3){
console.log(a, b, c)
}
Run Code Online (Sandbox Code Playgroud)
如果我有非常愉快b的价值,有没有办法来调用f和指定的值c直接?
在Python中,我会做些什么f(1, c=5)?
使用案例:如果我不知道b默认值或者如果有更多的参数,那么不能做这样的事情会很麻烦
有没有办法直接调用
f和指定值c?
不,JavaScript没有那种命名参数.
您可以调用f使用默认的b给予undefined:
f(1, undefined, 5);
Run Code Online (Sandbox Code Playgroud)
function f(a, b = 2, c = 3){
console.log(a, b, c)
}
f(1, undefined, 5);Run Code Online (Sandbox Code Playgroud)
或者,您可以进行f不同的定义:让它接受一个将其解构为参数的对象,然后使用对象调用它:
function f({a, b = 2, c = 3}){
console.log(a, b, c)
}
f({a: 1, c: 5});Run Code Online (Sandbox Code Playgroud)
如果你希望它在没有对象的情况下调用它是有效的(这是上面的错误),为destructured参数提供一个默认值:
function f({a, b = 2, c = 3} = {}){
// -------------------------^^^^^
console.log(a, b, c)
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
74 次 |
| 最近记录: |