/
Вопросы и ответы
/
JavaScript
/

в чем разница между 'typeof !== undefined' и '!= null' в javascript

в чем разница между 'typeof !== undefined' и '!= null' в javascript

2 года назад

Nikolai Gagarinov

Ответы

0

Оба варианта служат для проверки состояния переменной, но они имеют отличия:

Проверка typeof !== 'undefined' проверяет, была ли переменная объявлена и инициализирована, и не равна ли она значению undefined.

if (typeof variable !== 'undefined') {
      // переменная определена
    }

typeof variable возвращает строку 'undefined', если переменная не была объявлена или была объявлена, но не инициализирована. Использование typeof не вызывает ошибки, если переменная не существует. Это важно, если вы не уверены, объявлена ли переменная.

let a;
    console.log(typeof a !== 'undefined'); // true, a объявлена, но не инициализирована

    console.log(typeof b !== 'undefined'); // false, b не объявлена

Проверка != null проверяет, равно ли значение переменной null или undefined (из-за нестрогого сравнения).

if (variable != null) {
      // переменная не равна ни null, ни undefined
    }

При использовании нестрогого сравнения (!=), JavaScript приводит оба операнда к одному типу, и проверка вернет false, если значение переменной — null или undefined.

const c = null;
    console.log(c != null); // false

    const d;
    console.log(d != null); // false, d равно undefined

    const e = 0;
    console.log(e != null); // true, e установлено в 0

год назад

Ivan Gagarinov

+7 800 100 22 47

бесплатно по РФ

+7 495 085 21 62

бесплатно по Москве

108813 г. Москва, вн.тер.г. поселение Московский,
г. Московский, ул. Солнечная, д. 3А, стр. 1, помещ. 20Б/3
ОГРН 1217300010476
ИНН 7325174845