wartości null i undefined

JavaScript może wskazać brak wartości na kilka sposobów. Ta strona opisuje 2 najpopularniejsze sposoby: typy danych null i undefined.

null

Słowo kluczowe null oznacza celowo zdefiniowany brak wartości. null jest obiektem podstawowym, chociaż operator typeof zwraca, że null jest obiektem. To jest błąd, który spowodował przeniesienie z pierwszej wersji JavaScriptu i celowo pozostawiono je nierozstrzygnięte, aby uniknąć naruszenia oczekiwanego zachowania w internecie.

typeof null
> object

Zmienną możesz zdefiniować jako null po założeniu, że odzwierciedla ona przypisaną mu wartość w skrypcie lub jawnie nie ma żadnej wartości. Możesz też przypisać null do istniejącego odwołania, aby wyczyścić poprzednią wartość.

undefined

undefined to wartość podstawowa przypisana do zmiennych. które zostały właśnie zadeklarowane, lub wartości wynikowej operacji, która nie zwraca żadnej wartościowej wartości. Może się tak na przykład zdarzyć, gdy zadeklarujesz, funkcja w konsoli programisty przeglądarki:

function myFunction() {}
> undefined

Funkcja jawnie zwraca wartość undefined, gdy jej instrukcja return nie zwraca żadnej wartości.

(function() {
    return;
}());
> undefined

Porównanie: null i undefined

Chociaż funkcje undefined i null częściowo się nakładają, mają one jednak w różnych celach. W najściślejszym sensie null reprezentuje wartość celowo zdefiniowane jako „puste”, a undefined oznacza brak przypisanej wartości.

Parametry null i undefinedluźno równe, ale nie ściśle równe. Operator luźnej równości przekształca operandy różnych typów na wartość logiczną przez co null i undefined mają zarówno wartości false, jak i wartości. Operator ścisłej równości uznaje operandy różnych typów danych za różne.

null == undefined
> true

null === undefined
> false

W odróżnieniu od zarezerwowanego słowa kluczowego null, undefined jest właściwością tagu obiekt globalny. To był projekt decyzji podjętej na wczesnym etapie rozwoju języka JavaScript umożliwiło starsze przeglądarki całkowicie zastąp undefined. W nowoczesnych przeglądarkach nadal można używać undefined jako identyfikator w zakresach nieglobalnych, zastępując jego wartość w zakres tej deklaracji. Nigdy nie używaj undefined jako identyfikatora. it może powodować nieoczekiwane działania i może zakłócić obsługę przyszłych użytkowników w bazie kodu.

Sprawdź swoją wiedzę

Co zwraca typeof null?

object
undefined
primitive
string