Jaký je rozdíl mezi null a undefined?

Obě hodnoty působí na první pohled stejně, ale ve významu se liší.

Pokud je hodnota undefined, znamená to “hodnota je prázdná”. Pokud je hodnota null, znamená to “hodnota je NIC”.

Představme si to na příkladu Alzaboxu.

Naťukám kód, otevřou se dvířka a schránka je prázdná - je tam undefined. Naťukám kód, otevřou se dvířka a uvnitř je papírek s nápisem “NIC” - je tam null.

Pokud je v proměnné undefined, tak nevíme, jestli se někdo vůbec pokusil vložit hodnotu. Pokud je v proměnné null, tak víme, že někdo explicitně řekl “nic tam není”.

Zdroj obrázku

Nullish

Nullish hodnota je buď null nebo undefined.

Na nullish hodnoty můžeme používat nullish coalescing a optional chaining.