我想创建一个以对象作为参数的函数
例如,该对象可以具有三个键:x、y、z
所有这些键都必须有默认值分配
我尝试过这个:
function f({x:x, y:y, z: z} = {x:1,y:2,z:3}) {
return x + y + z;
}
但是我有一个问题
f() // return 6 => OK!
f({x: 2, y: 3, z: 4}) // return 9 => OK!
f({x: 2, y:3}) // return NaN (because z === undefined), I expect 8
我怎样才能做到这一点?
最佳答案
您可以在解构对象时分配单独的默认值:
function f({ x = 1, y = 2, z = 3 } = {}) {
return x + y + z
}
console.log(f())
console.log(f({ x: 2, y: 3, z: 4 }))
console.log(f({ x: 2, y:3 }))
See the docs here ,它描述了数组解构,但这同样适用于对象。
关于javascript - 对象参数的默认值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49183135/