【发布时间】:2021-01-06 22:32:42
【问题描述】:
const addendum = null
const acts.change = [act1];
console.log( acts.change.concat(addendum?.changedActions) );
输出 [act1, null] 而不是预期的 [act1]。我是误用了空条件运算符还是是
console.log( addendum ? acts.change.concat(addendum?.changedActions) : acts.change )
获得我想要的东西的最佳/最简单的方式?
【问题讨论】:
-
您是指optional chaining operator 吗?根据那里记录的语义,除了将
undefined传递给.concat作为第二个参数之外,我不希望它做任何事情,对吧? -
无论如何,你的第二个版本比假设的版本更容易阅读;更进一步,我实际上建议使用
if/else语句对。 首先让您的代码易于阅读。 -
你也可以
acts.change.concat(addendum?.changedActions??"")) -
const acts.change语法无效。 -
@emrhzc 不应该是
??[]吗?
标签: javascript null-conditional-operator