0
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 )

获得我想要的东西的最好/最简单的方法?

4

2 回答 2

0

没有内置的东西可以concat()忽略这个论点。因此,您需要用空数组替换未定义的参数,以便不连接任何内容。

除了条件链接之外,您还可以使用null 合并运算符:

addendum?.changedActions??[]

要进一步减少语法,请使用 ES6 省略号而不是调用concat().

console.log([...acts.change, ...addendum?.changedActions??[]])
于 2021-01-06T23:00:46.100 回答
-2

谢谢朋友,测试显示

acts.change.concat(addendum?.changedActions??[]))

是我正在寻找的行为。

于 2021-01-06T22:51:44.150 回答