
JS podmínka v objektu
Jak v JavaScriptu zapsat podmínku uvnitř objektu.
2
minuty
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.