Различия между неопределенным и нулевым

В JavaScript переменные похожи на пульт дистанционного управления, который фактически управляет объектом. Если пульт дистанционного управления не запрограммирован для управления какими-либо объектами, он может быть помечен как неопределенный. С другой стороны, если пульт дистанционного управления запрограммирован, но ничего не делает, он может быть назначен на Null. Null - это значение присваивания, его можно присвоить переменной как представление без значения. Undefined - это сам тип, а null - объект. Так что Undefined - это специальный тип, тогда как Null - это объект в JavaScript.

Ниже фрагмент кода JavaScript даст вывод неопределен.

var x;

console.log (x);

ð не определено

Если кто-то проверяет тип null, он выводит вывод как «объект», как показано в следующем фрагменте кода JavaScript:

console.log (typeof null);

ð объект

Таким образом, мы можем сказать, что Undefined означает переменную, которая была объявлена, но значение переменной еще не было определено. Undefined имеет тип «undefined», который можно проверить из фрагмента кода JavaScript:

вар тест;

Console.log (typeof test);

ð не определено

Можно также объявить переменную и затем присвоить ей «undefined», как показано ниже:

var test = undefined;

Console.log (тест);

ð не определено

Неназначенные переменные инициализируются JavaScript со значением по умолчанию undefined, тогда как JavaScript никогда не устанавливает значение null автоматически, это должно быть сделано программно.

Сравнение лицом к лицу между неопределенным и нулевым

Ниже приведены 8 лучших сравнений между Javascript Undefined и Null

Ключевые различия между Javascript Undefined и Null

Оба Undefined против Null являются популярным выбором на рынке; Давайте обсудим некоторые основные различия между неопределенным и нулевым:

  1. Не определено означает, что переменная была объявлена, но еще не присвоено значение.
  2. «Ноль» - это значение присваивания, которое означает «нет значения».
  3. «Undefined» и «null» оба являются примитивами.
  4. «Undefined» имеет тип undefined.
  5. «Ноль» имеет тип объекта.
  6. JavaScript никогда не устанавливает значение «null», оно используется программистами, чтобы указать, что «var» не имеет значения.
  7. JavaScript установил неназначенную переменную со значением по умолчанию «undefined».
  8. «Undefined» не является допустимым значением в JSON (JavaScript Object Notation), тогда как «null» является допустимым значением в JSON.
  9. Можно проверить, является ли переменная неопределенной, используя: тип переменной === «undefined»
  10. Способ проверить, является ли переменная нулевой, используя: variable === null
  11. Оператор равенства будет рассматривать их как равные, тогда как оператор Identity не будет рассматривать их как равные. null === undefined // false null == undefined // true
  12. Значение «null» представляет намеренное отсутствие какого-либо значения объекта. Это одно из примитивных значений JavaScript.
  13. Нуль пишется с литералом: «ноль». Это не идентификатор свойства глобального объекта, как может быть «неопределенный». «Ноль» дает отсутствие идентификации, означает, что переменная указывает на отсутствие объекта.
  14. Undefined - это глобальная переменная, которую JavaScript создает во время выполнения.
  15. Когда кто-либо выполняет арифметическое преобразование «ноль», значение определяется как 0, это преобразование может быть проверено: var v1 = 3 + ноль; console.log (v1); // 3
  16. «Undefined» не выполняет арифметическое преобразование, как «null», если мы попытаемся добавить его к цифре, вы получите ошибку NaN (Not-a-Number).

Сравнительная таблица Undefined и Null

Ниже приведен список точек, опишите сравнение между Javascript Undefined и Null

ОСНОВА Сравнения между неопределенным и нулевымНеопределенныйЗначение NULL
Определениепеременная была объявлена, но еще не присвоено значениезначение присвоения, которое означает «нет значения»
ТипНеопределенныйобъект
JSONИнвалиддействительный
ПриродаПеременная объявлена, но еще не назначенаПредставлять преднамеренное отсутствие стоимости объекта
Проверьтеtypeof variableName === «undefined»variableName === null
арифметикаОшибка не числа (NaN)рассматривается как нулевое значение
сравнениеОператор равенства вернет trueИдентификационный оператор вернет false
ИдентификаторМожет быть идентификатором свойства глобального объектаНе идентификатор для свойства глобального объекта

Вывод - неопределенный против нулевого

В большинстве случаев люди неправильно понимают разницу между неопределенным и нулевым. Если различие между Undefined и Null остается неясным, это может привести к проблемам в определенных тестовых случаях.

Можно сказать, что переменная является «неопределенной», если она объявлена, но ей не присвоено значение. С другой стороны, «ноль» - это значение, которое может быть присвоено переменной и представляет «нет значения». Поэтому «undefined» - это тип переменной, где «null» - это значение объекта.

«Ноль» считается пустым заполнителем. Это означает, что мы преднамеренно присвоили значение переменной и, таким образом, приняли значение переменной ничего. При проверке на null или undefined необходимо учитывать операторы равенства (==) и идентичности (===), так как прежние выполняют преобразование типов.

typeof null // объект

тип не определено // не определено

null === undefined // false

null == undefined // true

null == null // true

null === null // true

! null // true

isNaN (1 + ноль) // ложь

isNaN (1 + undefined) // true

Таким образом, когда дело доходит до различий в типе, «null» - это объект с допустимым значением, не имеющим свойств, не изменяемый, и в системе все время существует один экземпляр. Можно проверить природу «ноль», используя оператор «тип». Использование этого оператора выдаст результат как «объект». Если мы используем оператор «тип» для объекта, который относится ко всем критериям неопределенного списка, мы получим тип объекта как «неопределенный».

Еще одно важное отличие Undefined от Null можно заключить в преобразовании в примитивные типы. Способ, которым Undefined vs Null преобразуются в примитивные типы, является ключевой областью для дифференциации. При выполнении арифметического преобразования на «ноль» определенное значение равно нулю. Однако «undefined» не несет такого преобразования. Если мы попытаемся добавить «undefined» к цифре, вы получите ошибку Not-a-number.

Использование «ноль» может быть очень удобно в сценарии реального мира. Например - Некоторые люди не имеют отчества. Таким образом, в этом случае лучше присвоить значение null переменной среднего имени в объекте person. Если кто-то обращается к переменной среднего имени в объекте person и имеет значение «undefined». Тогда нет никакого способа установить, что разработчик забыл инициализировать эту переменную или она не имела никакого значения. Если это назначено как нуль, это означает, что пользователь может легко сделать вывод, что переменная отчества не имеет никакого значения.

Таким образом, чтобы подвести итог, «ноль» и «неопределенный» имеют разные значения. «Null» - это специальное ключевое слово, которое указывает на отсутствие значения, «undefined» означает «его не существует». Есть ситуации, когда это помогает различить «значение ноль» и «нет значения». При отправке обновлений для списка «ноль» может означать, заменить это поле на «ноль», а неопределенное может означать «не трогать». При работе с параметрами функции по умолчанию: undefined означает «использовать значение по умолчанию», а null означает «использовать ноль». Иметь в Undefined против Null две разные вещи в JavaScript может быть довольно болезненным, однако, если кто-то является разработчиком JavaScript, ему / ей это может понравиться.

Рекомендуемая статья

Это было руководство к разнице между неопределенным и нулевым. Здесь мы также обсуждаем ключевые отличия Javascript Undefined и Null с инфографикой и таблицей сравнения. Вы также можете взглянуть на следующие статьи -

  1. Go против Java - полезные различия
  2. Джанго против WordPress Различия
  3. JavaScript против C #
  4. XML против HTML - какой из них лучше
  5. Производительность Java против Python