【发布时间】:2026-01-31 11:05:02
【问题描述】:
我在这个问题上转了一会儿,但似乎我无法按照我想要的方式完成这项工作。实际上,我在这里想要的只是为可选参数提供嵌套的默认值。 我希望看到的输出应该是:
55, 44, { sub1: '0', sub2: 55, sub3: 'all'}
相反,我得到了这个:
55, 44, { sub2: 55 }
有人能告诉我这个吗?
function foo({ param1=55, param2=44, param3:param3 = { sub1:sub1='0', sub2:sub2=200, sub3:sub3='all' } } = { }) {
console.log(param1, param2, param3);
}
foo({
param3: {
sub2: 55
}
});
【问题讨论】:
-
只有在没有传入参数的情况下才会应用默认值吗?我很确定它不会运行类似
Object.assign -
如果你只是跳过
param3,整个默认对象就会发挥作用。老实说,我不知道您是否甚至可以使用这样的嵌套默认值,找不到太多关于它的信息。
标签: javascript ecmascript-6 destructuring