smsc banner 468x60smsc banner 728x90smsc banner 930x180beget banner 468x60beget banner 728x90beget banner 930x180kwork banner 468x60kwork banner 728x90kwork banner 930x180

Как определить, является ли переменная undefined или null в JavaScript

В JavaScript, если переменная была объявлена, но ей не было присвоено значение, ей автоматически присваивается значение undefined. Поэтому, если вы попытаетесь отобразить значение такой переменной, будет отображаться слово «undefined». А null — это специальное значение присваивания, которое может быть присвоено переменной как представление без значения.

Проще говоря, значение null означает отсутствие значения, а undefined означает переменную, которая была объявлена, но еще не имеет значения.

Чтобы проверить, является ли переменная undefined или null, вы можете использовать оператор равенства == или оператор строгого равенства === (также называемый оператором идентичности). Давайте посмотрим на следующий пример:

<script>
var firstName;
var lastName = null;
// Попробуйте получить несуществующий элемент DOM
var comment = document.getElementById('comment');

console.log(firstName); // Печатает: undefined
console.log(lastName);  // Печатает: null
console.log(comment);   // Печатает: null

console.log(typeof firstName); // Печатает: undefined
console.log(typeof lastName);  // Печатает: object
console.log(typeof comment);   // Печатает: object

console.log(null == undefined)  // Печатает: true    
console.log(null === undefined) // Печатает: false

/* Поскольку null == undefined истинно, следующие операторы будут перехватывать как null, так и undefined */
if(firstName == null){
    alert('Variable "firstName" is undefined.');
}    
if(lastName == null){
    alert('Variable "lastName" is null.');
}

/* Поскольку null === undefined ложно, следующие операторы будут перехватывать только null или undefined  */
if(typeof comment === 'undefined') {
    alert('Variable "comment" is undefined.');
} else if(comment === null){
    alert('Variable "comment" is null.');
}
</script>

Если вы попытаетесь проверить значения null с помощью оператора typeof, он не будет работать должным образом, потому что JavaScript возвращает «объект» для typeof null вместо «null».

Это давняя ошибка в JavaScript, но поскольку много кода в сети написано вокруг этого поведения, и, таким образом, его исправление создало бы намного больше проблем, от идеи исправления этой проблемы отказался комитет, разрабатывающий и поддерживающий JavaScript.

Ключевое слово undefined в JavaScript не является зарезервированным, поэтому можно объявить переменную с именем undefined. Итак, правильный способ проверить неопределенную переменную или свойство — использовать оператор typeof, например: if(typeof myVar === 'undefined').

skillbox banner 480x320skillbox banner 728x90skillbox banner 120x600kwork banner 480x320kwork banner 728x90kwork banner 120x600flexbe banner 480x320flexbe banner 728x90flexbe banner 120x600

Читайте также

Насколько публикация полезна?

Нажмите на звезду, чтобы оценить!

Средняя оценка 2.7 / 5. Количество оценок: 3

Оценок пока нет. Поставьте оценку первым.

Похожие посты

How to increase and decrease image size using JavaScript

Answer: Use the JavaScript width и height property You can use either width or height JavaScript property to proportionally increase и decrease the dimension of an image like zoom-in и zoom-out feature. Let’s take a look at the following example to understи how it basically works: Пример <!DOCTYPE html> <html lang=»en»> <head> <meta charset=»utf-8″> <title>JavaScript…
Подробнее

Как сделать паузу при выполнении скрипта в JavaScript

Вы можете просто использовать метод setTimeout(), чтобы сделать паузу, прежде чем продолжить выполнение кода в JavaScript. Время задержки выполнения скрипта указывается в миллисекундах (тысячных долях секунды). Давайте посмотрим следующий пример, чтобы понять, как это работает: Как вы заметили в предыдущем примере, JS-код после метода setTimeout() продолжает выполнение. Однако, если вам нужен настоящий «сон», когда все…
Подробнее

Как перебрать массив в JavaScript

Самый простой способ перебрать массив в JavaScript — использовать цикл for. В следующем примере показано, как вывести все значения массива в JavaScript по очереди. В качестве альтернативы вы можете использовать недавно представленный цикл for-of в ES6 для итерации по массиву, например: См. Руководство по ES6-функциям JavaScript, чтобы узнать о новых функциях, представленных в ES6.
Подробнее