我将ES6功能与babel编译器一起使用。
我有一个将选项对象作为参数的函数:

function myFunction({ option1 = true, option2 = 'whatever' }) {
    console.log(option1, option2);
    // do something...
}

当我称呼它时,就会发生结构性破坏,并且一切都会正常进行。
我想在大多数时候使用默认选项来调用它,所以我这样做:
myFunction({}); // true 'whatever'

但是看起来有点奇怪。只需打电话:
myFunction(); // TypeError: Cannot read property 'option1' of undefined

是否可以?

最佳答案

是的,您只需要为complete参数提供一个默认值即可:

function myFunction({option1 = true, option2 = 'whatever'} = {}) {
//                                                         ^^^^
    console.log(option1, option2);
    // do something...
}

关于javascript - 如何用ES6中的所有默认值来分解选项参数?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/34275971/

10-10 01:02