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