Как определить, является ли переменная '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 равно:
nullundefinedNaN- пустой строке ("")
или если оно равно:
0false
Существует ли стандартная функция для проверки переменных на null, undefined или пустые значения в JavaScript?
Проверка существования переменной в JavaScript (определена/инициализирована)
Как проверить неопределённую переменную в JavaScript
Почему null является объектом и в чем разница между null и undefined?
"JavaScript: Проверка на null и undefined, а также разница между == и ==="