Téma: JavaScript / jQueryPrev | Další
Odpověď: Použijte operátor rovnosti (==)
V JavaScriptu, pokud byla deklarována proměnná , ale nebyla mu přiřazena žádná hodnota, je jí automaticky přiřazena hodnota undefined
. Pokud se tedy pokusíte zobrazit hodnotu takové proměnné, zobrazí se slovo „undefined“. Zatímco null
je speciální hodnota přiřazení, kterou lze proměnné přiřadit jako reprezentaci bez hodnoty.
Jednoduchými slovy můžete říci a null
hodnota znamená žádnou hodnotu nebo absenci hodnoty a undefined
znamená proměnnou, která byla deklarována, ale dosud jí nebyla přiřazena žádná hodnota.
Chcete-li zkontrolovat, zda je proměnná nedefinovaná nebo nulová, můžete použít operátor rovnosti ==
nebo operátor přísné rovnosti ===
(také operátor identity). Podívejme se na následující příklad:
Pokud se pokusíte otestovat hodnoty null
pomocí typeof
operátor nebude fungovat podle očekávání, protože JavaScript vrací „objekt“ pro typeof null
místo „null“.
Toto je dlouhodobá chyba v JavaScriptu , ale protože spousta kódů na webu napsaných kolem tohoto chování, a tím i jeho oprava, by vytvořila mnohem větší problém, tak myšlenka řešení tohoto problému byla opuštěna komisí, která navrhuje a udržuje JavaScript.
Poznámka: undefined
není vyhrazené klíčové slovo v JavaScriptu, a proto je možné deklarovat proměnnou se jménem undefined. Správný způsob testování proměnné nebo vlastnosti undefined
tedy používá operátor typeof
, například: if(typeof myVar === "undefined")
.
Související časté dotazy
Zde je několik dalších často kladených otázek týkajících se tohoto tématu:
- Jak zkontrolovat, zda proměnná existuje nebo je definována v JavaScriptu
- Jak zkontrolovat, zda je hodnota číselná či nikoli v jQuery
- Jak zkontrolovat, zda hodnota existuje v poli v JavaScriptu