Справочник javascript: undefined

Форум

Учебник Node.JS скринкаст Стандарт языка

Справочник

Discord чат

 
Статьи Тест знаний Аналоги функций PHP  

undefined

Обозначает неопределенное значение

Описание, примеры

Эта глобальная переменная содержит элементарное неопределенное значение - то, которое имеет переменная, значение которой не указано.

Например, функция без директивы return возвращает undefined.

function a() {
   alert('test')
}

result = a() // result является undefined
alert(result === undefined) // true

Обращение к несуществующему свойству объекта также даст undefined.

result = window.notexists  
alert(result === undefined) // true

Как видно из примеров, определить, является ли значение undefined, можно строгим (тройным) знаком равенства.

Например, можно проверить, существует ли глобальная переменная:

if (window.somevar !== undefined) { .... }

Обратите внимание - при сравнении идет обращение к свойству через заведомо существующий объект window. Поэтому интерпретатор не выдаст ошибку даже если свойства somevar не существует.

Также заметим, что нужен именно строгий оператор сравнения, т.к x==undefined возвратит true также если x является (null), а это уже другое значение.

Строгое сравнение является лучшей альтернативой использованию typeof:

Пример: проверка результата typeof

var x
// 
if (typeof x == "undefined") {
   ...
}

Автор: vasya (не зарегистрирован), дата: 5 августа, 2009 - 12:34

#permalink

Заметим, что нужен именно строгий оператор сравнения, т.к x==undefined верно также если x является null, а это уже другое значение.

var test = null;
alert(test === undefined); // false

КЭП?






Автор: Svetlana (не зарегистрирован), дата: 28 сентября, 2010 - 01:26

#permalink

Ничего не поняла...
Простите я в этом чайник. Мне надо этот undefined убрать, а я не знаю как, боюсь все порушить.


Автор: SowingSadness (не зарегистрирован), дата: 25 ноября, 2010 - 11:13

#permalink
Правильнос делать так:
(function( undefined ){
 var x;
 if ( x === undefined ) {
  ...
 }

})()

Автор: Гость (не зарегистрирован), дата: 7 марта, 2011 - 10:36

#permalink

undefined это что?


Автор: Гость (не зарегистрирован), дата: 18 марта, 2011 - 08:15

#permalink

спасибо за сайт, добавлю себе в избранное =)


Автор: Гость (не зарегистрирован), дата: 5 мая, 2011 - 11:15

#permalink

Классно, typeof мне никогда не нравился. Заменю на ===. Причем фишку с == тоже можно использовать, чтобы определить, что в переменной содержится хоть какое-то значение:

if (obj.Field === undefined || obj.Field == null)
меняется на
if (obj.Field == undefined)


Автор: Павел__ (не зарегистрирован), дата: 26 мая, 2011 - 17:24

#permalink

Стоило бы написать, что несуществующую переменную сравниванием с этой переменной проверять нельзя, потому что возникнет ошибка

alert(typeof(myVar) == 'undefined'); // -> True
alert(myVar === undefined); // -> JS Error: "myVar is not defined"


Автор: neromont, дата: 20 января, 2015 - 06:30

#permalink

undefined можно использовать в качестве идентификатора, так как значение не является зарезервированным словом.


Автор: neromont, дата: 20 января, 2015 - 06:34

#permalink

Также для проверки значения переменной на undefined можно проверить с помощью void:

x === void 0;

 
Поиск по сайту
Содержание

Дерево всех статей

Последние темы на форуме
Forum