如何在 ES6 中使用所有默认值解构选项参数?
How to destructure option argument with all default values in ES6?
我使用带有 babel 编译器的 ES6 特性。
我有一个将选项对象作为参数的函数:
function myFunction({ option1 = true, option2 = 'whatever' }) {
console.log(option1, option2);
// do something...
}
当我调用它时,解构发生并且一切正常。
大多数时候我想用默认选项调用它,所以我这样做:
myFunction({}); // true 'whatever'
但看起来有点奇怪。它会更干净,只需调用:
myFunction(); // TypeError: Cannot read property 'option1' of undefined
可以吗?
是的,您只需为完整的 参数提供一个默认值:
function myFunction({option1 = true, option2 = 'whatever'} = {}) {
// ^^^^
console.log(option1, option2);
// do something...
}
我使用带有 babel 编译器的 ES6 特性。 我有一个将选项对象作为参数的函数:
function myFunction({ option1 = true, option2 = 'whatever' }) {
console.log(option1, option2);
// do something...
}
当我调用它时,解构发生并且一切正常。 大多数时候我想用默认选项调用它,所以我这样做:
myFunction({}); // true 'whatever'
但看起来有点奇怪。它会更干净,只需调用:
myFunction(); // TypeError: Cannot read property 'option1' of undefined
可以吗?
是的,您只需为完整的 参数提供一个默认值:
function myFunction({option1 = true, option2 = 'whatever'} = {}) {
// ^^^^
console.log(option1, option2);
// do something...
}