
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.
Související články
JavaScript null a undefined
Rozdíly mezi null a undefined v JavaScriptu, kdy je používat a jak se vyhnout běžným chybám.
Sleep v JavaScriptu
Jak implementovat sleep/delay funkcionalitu v JavaScriptu pomocí Promise a async/await
JavaScript Battery API
Jak v JS zjistit stav baterie, co dnes funguje a kdy API nepoužívat.