31.01.2013, 10:48
|
|
CacheVar
|
|
Регистрация: 19.08.2010
Сообщений: 14,209
|
|
Цитата:
|
Ключевое слово null в JavaScript имеет специальный смысл. Обычно считается,
что у значения null объектный тип и оно говорит об отсутствии объекта. Значе
ние null уникально и отличается от любых других. Если переменная равна null,
следовательно, в ней не содержится допустимого объекта, массива, числа, стро
ки или логического значения.
|
Цитата:
|
Еще одно специальное значение, иногда используемое в JavaScript, – undefined.
Оно возвращается при обращении либо к переменной, которая была объявлена,
но которой никогда не присваивалось значение, либо к свойству объекта, кото
рое не существует. Заметьте, что специальное значение undefined – это не то же
самое, что null.
Хотя значения null и undefined не эквивалентны друг другу, оператор эквива
лентности == считает их равными.
|
Разницу я выделил.
Цитата:
|
Рассмотрим следующее выражение:
my.prop == null
Это сравнение истинно, либо если свойство my.prop не существует, либо если оно
существует, но содержит значение null. Поскольку значение null и undefined обо
значают отсутствие значения, это равенство часто оказывается тем, что нам
нужно. Однако когда действительно требуется отличить значение null от значе
ния undefined, нужен оператор идентичности === или оператор typeof
|
(c) «JavaScript. Подробное руководство», 5-е издание. Автор Дэвид Флэнаган
|