JS:Null-Safe Array Concat

Efr*_*ain 3 javascript typescript ecmascript-6

鉴于:

var a = [1, 2, 3]
var b = null
Run Code Online (Sandbox Code Playgroud)

我需要:

var c = [...a, ...b]

..但当当然ab无效时,这不起作用.所以在这个例子中b不应该添加,导致c = [1, 2, 3].如果两个ab都为空(或未定义),结果应该是[].

是否有任何缩写,以避免写两个if语句?

t.n*_*ese 16

你可以使用||运营商.

var a = [1, 2, 3]
var b = null

var c = [...a||[], ...b||[]]

console.log(c)
Run Code Online (Sandbox Code Playgroud)


小智 8

var c = [...(a || []), ...(b || [])]
Run Code Online (Sandbox Code Playgroud)

这样,如果任何数组为空或未定义,它将被一个空数组替换