是否有用于数组连接的空条件运算符?

Is there a null-conditional operator for array concatenation?

const addendum = null
const acts.change = [act1];
console.log( acts.change.concat(addendum?.changedActions) );

输出 [act1, null] 而不是预期的 [act1]。我是在滥用空条件运算符还是 is

console.log( addendum ? acts.change.concat(addendum?.changedActions) : acts.change )

best/briefest 获取所需内容的方法?

谢谢朋友,测试显示

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

是我正在寻找的行为。

没有任何内置功能可以让 concat() 忽略该参数。因此,您需要将未定义的参数替换为空数组,以便不连接任何内容。

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

addendum?.changedActions??[]

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

console.log([...acts.change, ...addendum?.changedActions??[]])