Tato příručka se bude zabývat rozdíly mezi nimi nula a nedefinováno hodnoty v JavaScriptu. Znalost rozdílu mezi těmito dvěma hodnotami je důležitá pro ladění a vytváření bezchybného kódu.
Pomocí konzoly prohlížeče můžete sledovat nebo vyzkoušet ukázky kódu popsané v této příručce.
Porovnání rovnosti nulových a nedefinovaných hodnot
V JavaScriptu nula je primitivní hodnota, která se používá k označení úmyslné absence hodnoty objektu, zatímco nedefinováno je primitivní hodnota, která funguje jako zástupný symbol pro proměnnou, které nebyla přiřazena hodnota.
Nula a nedefinováno hodnoty jsou stejné při porovnání pomocí operátoru rovnosti JavaScriptu.
Použijte operátor rovnosti (==) porovnat, pokud nula a nedefinováno hodnoty jsou v JavaScriptu stejné.
Otevřete konzolu prohlížeče, zadejte následující kód a stiskněte Enter.
null == nedefinováno
Výstup by vám měl dát něco, co vypadá takto, vrácená booleovská hodnota skutečný jednoduše znamená, že obě hodnoty jsou stejné.
Více informací: Jak deklarovat proměnné v JavaScriptu
Přísné srovnání rovnosti
JavaScript má také operátor identity (), známý také jako operátor přísné rovnosti kromě operátoru rovnosti (==)
Operátor identity přejde na další míli kontrolou, zda je základní typ porovnávaných hodnot stejný. To v podstatě znamená, že i když jsou dvě hodnoty stejné, nemusí být totožné nebo striktně stejné, pokud jsou jejich základní typy odlišné.
Chcete-li otestovat přísnou rovnost, použijte trojnásobné znaménko rovnosti, jak je uvedeno níže.
null undefined
Výsledek výše uvedeného příkazu vám dá logickou hodnotu Nepravdivé„Jinými slovy, tyto dvě hodnoty nejsou totožné, i když jsou stejné.
Zjištění typu Null a Undefined
Použijte vestavěnou funkci JavaScriptu Typ() zjistit podkladový typ hodnoty. Funkce přebírá jeden parametr hodnoty, jejíž typ chcete najít.
Příbuzný: The Ultimate JavaScript Cheat Sheet
typeof (null)
Hodnota null je typu objekt jak vidíte z výstupu níže.
Probíhá podobný test na serveru nedefinováno hodnota vám dá výsledek nedefinováno.
typ (nedefinováno)
Práce s čísly
Chcete-li prozkoumat další rozdíly, proveďte číselný test nula a nedefinováno hodnoty. Pokud je hodnotou číslo, znamená to, že na něm můžeme provádět číselné operace.
Existují dva hlavní způsoby, jak otestovat, zda je hodnota v JavaScriptu číslem.
1. Za použití isFinite () funkce - pokud je testovanou hodnotou číslo, funkce se vrátí skutečný; jinak se vrátí Nepravdivé.
2. Za použití isNaN () funkce - pokud je testovanou hodnotou číslo, vrátí se Nepravdivé; jinak se vrátí skutečný.
Poznámka: isNaN je zkratka pro „není číslo“.
Pro zjednodušení bude tento průvodce používat pouze isFinite () funkce k otestování, zda je hodnota číslo, ale můžete také vyzkoušet isNaN () funkce. Obě tyto funkce berou jako parametr hodnotu, na které chcete spustit číselný test.
isFinite (null)
Výsledek je skutečný, význam nula je hodnota typu číslo v JavaScriptu. Vzhledem k tomu, provádění stejné zkoušky na nedefinováno se vrací Nepravdivé.
isFinite (undefined)
Typ nátlaku
JavaScript je volně psaný jazyk, a proto při provádění matematických operací JavaScript automaticky převede výsledek na požadovaný typ.
Bohužel tato automatická konverze, která se běžně označuje jako nátlak typu, může přinést spoustu překvapení.
Spusťte následující numerickou operaci nula a nedefinováno v konzole prohlížeče.
1 + null
3 * null
1 + nedefinováno
3 * nedefinováno;
Jak vidíte, můžete provádět číselné operace na nula hodnota, protože je to číslo, které nemá žádnou hodnotu. Proto je to považováno za nulu. Ber to na vědomí nula se nerovná nula v JavaScriptu, ale v tomto případě se s tím nějak zachází.
Číselné operace na nedefinováno hodnota má za následek vrácení NaN Hodnota (není číslo). Pokud s ním nebudete zacházet opatrně, můžete to za běhu zažít.
Vyhýbání se runtime chybám
Dobré porozumění nula a nedefinováno hodnoty jsou zásadní, aby se zabránilo chybám běhového prostředí ve vašem produkčním kódu. Chyby související s nedefinováno hodnoty lze obtížně ladit a je nejlepší se jim vyhnout.
Zvažte použití TypeScript pro silně napsaný kód, který se kompiluje do JavaScriptu. V TypeScript je váš kód kontrolován v době kompilace, aby se minimalizovaly runtime chyby ve vašem produkčním kódu.
- Programování
- JavaScript
- Tipy pro kódování
Mwiza vyvíjí software podle povolání a rozsáhle píše o Linuxu a front-end programování. Mezi jeho zájmy patří historie, ekonomie, politika a podniková architektura.
Přihlaste se k odběru našeho zpravodaje
Připojte se k našemu zpravodaji s technickými tipy, recenzemi, bezplatnými elektronickými knihami a exkluzivními nabídkami!
Ještě jeden krok…!
V e-mailu, který jsme vám právě poslali, potvrďte svou e-mailovou adresu.