【发布时间】:2016-03-07 15:57:17
【问题描述】:
我使用的是默认参数,有这个功能:
function defaultstest({ test = { done: false, test: true }, done = false } = {}) {
console.log(test, done)
}
如果我将其称为defaultstest()、defaultstest({}) 或defaultstest({ done: true }),则默认设置正确。
但是当我向测试对象添加一个属性时,其他的都没有设置为默认值。
defaultstest({ test: { done: true } }) >> { done: true } false
如何确保将可选属性设置为默认值?
【问题讨论】:
-
同时使用
test和done两次完全不同对象的属性名称令人困惑。我什至不知道你是故意这样做还是自己弄糊涂了。哪些输入的预期输出是什么?
标签: javascript ecmascript-6 default-parameters destructuring