Как определить, является ли переменная 'undefined' или 'null'?
Как определить, является ли переменная undefined
или null
?
У меня есть следующий код:
var EmpName = $("div#esd-names div#name").attr('class');
if(EmpName == 'undefined'){
// DO SOMETHING
};
И HTML-код:
<div id="esd-names">
<div id="name"></div>
</div>
Однако, когда я это выполняю, интерпретатор JavaScript останавливает выполнение. Как правильно проверять переменную на undefined
или null
?
4 ответ(ов)
С учетом приведенных выше ответов, наиболее полным решением будет:
if (typeof variable === 'undefined' || variable === null) {
// Выполнить действия
}
Это условие будет работать для любой переменной, которая либо не объявлена, либо объявлена и явно установлена в null или undefined. Логическое выражение будет истинным (true) для всех переменных, которые имеют значение null или undefined, и ложным (false) для всех объявленных переменных с ненулевыми значениями.
Если вы хотите выполнить действия только в случае, если переменная равна null
или undefined
, вам следует использовать условие, как в следующем примере:
if (variable == null) {
// Выполнение действий, это условие совпадет только с null или undefined, но не с false
}
Важно отметить, что оператор ==
в JavaScript производит нестрогое сравнение, которое приводит значения к общему типу, что позволяет null
и undefined
считаться равными. Однако, в отличие от false
, они не совпадают. Если вам нужно различать null
и undefined
и обеспечивать строгую проверку, используйте оператор ===
в своих условиях.
Данный код проверяет, что переменная EmpName
определена и содержит истинное значение. Он вернет true
в случае, если значение переменной не равно:
- null
- undefined
- NaN (Not-a-Number)
- пустая строка ("")
- 0
- false
Таким образом, условие if (typeof EmpName != 'undefined' && EmpName)
гарантирует, что переменная EmpName
существует и имеет значение, которое интерпретируется как истинное в логическом контексте.
Самый короткий и простой способ:
if(!EmpName){
// ДЕЛАЕМ ЧТО-ТО
}
Это условие будет истинным, если EmpName
равно:
null
undefined
NaN
- пустой строке ("")
или если оно равно:
0
false
Существует ли стандартная функция для проверки переменных на null, undefined или пустые значения в JavaScript?
Проверка существования переменной в JavaScript (определена/инициализирована)
Как проверить неопределённую переменную в JavaScript
Почему null является объектом и в чем разница между null и undefined?
jQuery: Получение Выбранного Значения Из Выпадающего Списка