Różnice między niezdefiniowanym a zerowym
W JavaScript Zmienne są jak zdalne sterowanie, które faktycznie kontroluje obiekt. Jeśli pilot zdalnego sterowania nie jest zaprogramowany do sterowania żadnym obiektem, można go oznaczyć jako Niezdefiniowany. Z drugiej strony, jeśli pilot jest zaprogramowany, ale nie ma nic robić, można go przypisać do Null. Null jest wartością przypisania, może być przypisana do zmiennej jako reprezentacja braku wartości. Niezdefiniowany jest typem, podczas gdy null jest obiektem. Zatem Undefined jest specjalnym typem, podczas gdy Null jest obiektem w JavaScript.
Pod fragmentem kodu JavaScript fragment kodu będzie niezdefiniowany.
var x;
console.log (x); ð niezdefiniowany |
Jeśli ktoś sprawdzi typ null, wydrukuje wynik jako „obiekt”, jak pokazano w poniższym fragmencie kodu JavaScript:
console.log (typeof null);
ð obiekt |
Możemy więc powiedzieć, że Undefined oznacza zmienną, która została zadeklarowana, ale wartość zmiennej nie została jeszcze zdefiniowana. Niezdefiniowany jest typu „niezdefiniowany”, który można sprawdzić poniżej fragmentu kodu JavaScript:
test var;
Console.log (test typeof); ð niezdefiniowany |
Można również zadeklarować zmienną, a następnie przypisać jej „niezdefiniowaną”, jak poniżej:
var test = undefined;
Console.log (test); ð niezdefiniowany |
Nieprzypisane zmienne są inicjowane przez JavaScript z domyślną wartością niezdefiniowaną, podczas gdy JavaScript nigdy nie ustawia wartości automatycznie na null, należy to zrobić programowo.
Bezpośrednie porównanie między niezdefiniowanym a zerowym
Poniżej znajduje się porównanie 8 najlepszych między niezdefiniowanym Javascriptem a Null
Kluczowe różnice między JavaScript Undefined a Null
Zarówno Undefined vs Null są popularnymi wyborami na rynku; omówmy niektóre z głównych różnic między niezdefiniowanymi a zerowymi:
- Niezdefiniowana oznacza, że zmienna została zadeklarowana, ale nie przypisano jej jeszcze wartości.
- „Null” to wartość przypisania, która oznacza „brak wartości”.
- „Niezdefiniowany” i „zerowy” oba są prymitywami.
- „Niezdefiniowany” jest typu niezdefiniowany.
- „Null” jest obiektem typu.
- JavaScript nigdy nie ustawia wartości na „null”, programiści używają jej do wskazania, że „var” nie ma żadnej wartości.
- JavaScript ustawia nieprzypisaną zmienną z domyślną wartością „undefined”.
- „Undefined” nie jest prawidłową wartością w JSON (JavaScript Object Notation), podczas gdy „null” jest prawidłową wartością w JSON.
- Można sprawdzić, czy zmienna jest niezdefiniowana za pomocą: type of variable === „undefined”
- Sposób sprawdzenia, czy zmienna ma wartość NULL, przy użyciu: zmienna === null
- Operator równości będzie traktował je jako równe, podczas gdy operator tożsamości nie będzie traktował ich tak samo. null === undefined // false null == undefined // true
- Wartość „null” oznacza celowy brak jakiejkolwiek wartości obiektu. Jest to jedna z podstawowych wartości JavaScript.
- Null jest napisany dosłownie: „null”. Nie jest to identyfikator właściwości obiektu globalnego, taki jak „niezdefiniowany”. „Null” oznacza brak identyfikacji, oznacza, że zmienna nie wskazuje żadnego obiektu.
- „Undefined” to zmienna globalna, którą JavaScript tworzy w czasie wykonywania.
- Gdy wykonuje się konwersję arytmetyczną na „null”, ustalona wartość wynosi 0, konwersję tę można zweryfikować: var v1 = 3 + null; console.log (v1); // 3
- „Undefined” nie dokonuje konwersji arytmetycznej tak jak „null”, jeśli spróbujemy dodać go do liczby, pojawi się błąd NaN (Not-a-Number).
Tabela porównawcza niezdefiniowana vs. zerowa
Poniżej znajduje się lista punktów. Opisz porównanie między JavaScript Undefined a Null
PODSTAWA Porównanie między niezdefiniowanym a zerowym | Nieokreślony | Zero |
Definicja | zmienna została zadeklarowana, ale nie przypisano jej jeszcze wartości | wartość przypisania, która oznacza „brak wartości” |
Rodzaj | Nieokreślony | Obiekt |
JSON | Nieważny | Ważny |
Natura | Zmienna zadeklarowana, ale jeszcze nie przypisana | Reprezentują celowy brak wartości obiektu |
Czek | typeof variableName === „niezdefiniowany” | nazwa zmiennej === null |
Arytmetyka | Błąd „No-a-number” (NaN) | traktowane jako wartość zerowa |
Porównanie | Operator równości zwróci wartość true | Operator tożsamości zwróci false |
Identyfikator | Może być identyfikatorem właściwości obiektu globalnego | Nie jest identyfikatorem właściwości obiektu globalnego |
Wniosek - nieokreślony a zerowy
Przez większość czasu ludzie źle rozumieją różnicę między niezdefiniowanym a zerowym. Jeśli różnica między niezdefiniowanym a zerowym pozostaje niejasna, może to prowadzić do problemów w niektórych przypadkach testowych.
Zmienną można powiedzieć, że jest „niezdefiniowana”, jeśli została zadeklarowana, ale nie podano jej żadnej wartości. Z drugiej strony „null” to wartość, którą można przypisać do zmiennej i reprezentuje „brak wartości”. Dlatego „niezdefiniowany” jest typem zmiennej, gdzie „null” jest wartością obiektu.
„Null” uważa się za symbol zastępczy na nic. Oznacza to, że celowo przypisaliśmy wartość zmiennej, a tym samym przyjmując wartość nic do zmiennej. Podczas sprawdzania wartości null lub undefined należy pamiętać o operatorach równości (==) i tożsamości (===), ponieważ poprzedni wykonał konwersję typu.
typeof null // obiekt typ niezdefiniowany // niezdefiniowany null === undefined // false null == undefined // true null == null // true null === null // true ! null // true isNaN (1 + null) // false isNaN (1 + niezdefiniowany) // true |
Tak więc, jeśli chodzi o różnicę w typie, „null” jest obiektem o prawidłowej wartości nieposiadającej właściwości, jest niemodyfikowalna i przez cały czas w systemie istnieje jedna instancja. Można zweryfikować naturę „null”, używając operatora „type”. Użycie tego operatora da wynik jako „obiekt”. Jeśli użyjemy operatora „typ” na obiekcie, który należy do wszystkich kryteriów niezdefiniowanej listy, otrzymamy typ obiektu jako „niezdefiniowany”.
Kolejną istotną różnicę między niezdefiniowanym a zerowym można wywnioskować z konwersji na typy pierwotne. Kluczowym obszarem różnicowania jest sposób, w jaki niezdefiniowane i zerowe są konwertowane na typy pierwotne. Podczas wykonywania konwersji arytmetycznej na „null” ustalona wartość wynosi zero. Jednak „niezdefiniowany” nie powoduje takiej konwersji. Jeśli spróbujemy dodać „niezdefiniowany” do cyfry, pojawi się błąd „Brak numeru”.
Użycie „null” może być bardzo przydatne w scenariuszu w świecie rzeczywistym. Na przykład - niektóre osoby nie mają drugiego imienia. Dlatego w tym przypadku lepiej jest przypisać wartość null do zmiennej drugiej nazwy w obiekcie osoby. Jeśli ktoś uzyskuje dostęp do zmiennej imienia drugiego w obiekcie osoby i ma on wartość „niezdefiniowana”. Zatem nie ma sposobu, aby upewnić się, że programista zapomniał zainicjować tę zmienną lub nie miał żadnej wartości. Jeśli jest przypisany jako null, oznacza to, że użytkownik może łatwo wywnioskować, że zmienna drugiego imienia nie ma żadnej wartości.
Podsumowując, „null” i „undefined” mają różne znaczenia. Podczas gdy „null” jest specjalnym słowem kluczowym wskazującym brak wartości, „niezdefiniowany” oznacza „nie istnieje”. Są sytuacje, w których pomaga rozróżnić „wartość zerową” i „brak wartości”. Podczas wysyłania aktualizacji listy „null” może oznaczać, zastąp to pole „null”, a niezdefiniowany może oznaczać „nie dotykaj”. W przypadku domyślnych parametrów funkcji: niezdefiniowany oznacza „użyj wartości domyślnej”, a null oznacza „użyj wartości null”. Posiadanie Undefined vs Null jako dwóch różnych rzeczy w JavaScript może być naprawdę bolesne, jednak jeśli ktoś jest programistą JavaScript, może to lubić.
Polecany artykuł
To był przewodnik po największej różnicy między niezdefiniowanym a zerowym. Tutaj omawiamy także różnice między kluczem JavaScript niezdefiniowanym a zerowym za pomocą infografiki i tabeli porównawczej. Możesz także zapoznać się z następującymi artykułami -
- Idź vs Java - Przydatne różnice
- Różnice między Django a WordPress
- JavaScript vs C #
- XML vs. HTML - Który jest lepszy
- Wydajność Java vs Python