JS podmínka v objektu
Jak v JavaScriptu zapsat podmínku uvnitř objektu.
Například při posílání požadavků na API se přidávají různé parametry. Třeba u fetch
to může být metoda, kterou se má požadavek odeslat:
fetch(url, {
method: 'POST'
})
Jak ale metodu nastavovat na POST
jen při splnění podmínky?
Užitečný je pro tento případ tzv. spread operátor – ...
(hodí se i pro klonování objektů).
Jedna možnost je použít ternární operátor ?
:
fetch(url, {
...(podminka ? { method: 'POST' } : [])
})
A nechat pomocí spread operátoru rozbalit třeba prázdné pole, prázdný objekt, null
nebo třeba nějaké číslo.
Nebo rovnou celý zápis zkrátit na:
fetch(url, {
...(podminka && { method: 'POST' })
})
Díky tomu se vlastnost method
vůbec nedostane do výsledného objektu.
Komentáře