¿Hay alguna manera de devolver nada para el operador ternario? Quiero decir
const a = [ 0 ? { name : "example" } : null ]cuando imprimo a = [null]
o:
const a = [ 0 && {name:"example"}]un será [falso]
esperaba que a = [] para el caso 1
No. No es posible. Vas a recuperar un valor.
Si desea condicionalmente un valor, tome la decisión fuera de la matriz o filtre los valores nulos después.
p.ej
const a = 0 ? [ { name: "example" } ] : [];o
const a = [ 0 ? { name : "example" } : null ].filter(Boolean);Podría difundir una matriz (vacía).
console.log([...(0 ? [{ name : "example" }] : [])]); console.log([...(1 ? [{ name : "example" }] : [])]);null es un valor de matriz perfectamente válido en Javascript, ya que no está undefined .
Simplemente puede construir la matriz a pedido...
const a = 0 ? [{ name : "example" }] : [];o si esto es parte de una construcción de matriz más grande, use símbolos...
const a = [ 'a', ...(0 ? [{name : "example"}] : []), 'b' ]; console.log(a); //-> ['a', 'b']