В чем разница между null и undefined в JavaScript?


Давайте сначала поговорим о сходстве.

nullиundefinedявляются примитивными типами JavaScript.

Значениеundefinedозначает, что переменная объявлена, но ей не присвоено значение.

let age //age is undefined
let age = null //age is null

Примечание: доступ к переменной, которая не была объявлена, вызоветReferenceError: <variable> is not definedошибка, но это не значит, чтоundefined.

Как вы проверяете, является ли переменная нулевой? Используйте оператор сравнения, напримерage === null

То же самое для undefined:age === undefined

В обоих случаях вы можете проверить:

if (!age) {

}

и это будет соответствовать обоимnullиundefined.

Вы также можете использоватьtypeofоператор:

let age
typeof age //'undefined'

несмотря на то чтоnullоценивается как объект, даже если это примитивный тип:

let age = null
typeof age //'object'

Скачать мою бесплатнуюРуководство для начинающих по JavaScript


Больше руководств по js: