Відмінності між невизначеним та нульовим

У JavaScript змінні - це як пульт, який фактично керує об'єктом. Якщо пульт не запрограмований для управління будь-яким об'єктом, він може бути позначений як Невизначений. З іншого боку, якщо пульт дистанційного керування запрограмований, але нічого не робити, його можна призначити Null. Null - це значення присвоєння, воно може бути присвоєне змінній як подання без значення. Undefined - це сам тип, а null - об’єкт. Отже Undefined - це особливий тип, тоді як Null - це об’єкт у JavaScript.

Нижче фрагмент коду JavaScript дасть вихід не визначений.

var x;

console.log (x);

ð невизначено

Якщо хтось перевіряє тип null, він надрукує висновок як "об'єкт", як показано в наведеному нижче фрагменті коду JavaScript:

console.log (typeof null);

ð об’єкт

Отже, можна сказати, що Undefined означає змінну, яка була оголошена, але значення змінної ще не визначено. Невизначений тип "невизначений", який можна перевірити знизу фрагмента коду JavaScript:

вар тест;

Console.log (typeof test);

ð невизначено

Можна також оголосити змінну, а потім призначити їй "невизначений", як показано нижче:

var тест = невизначений;

Console.log (тест);

ð невизначено

Непризначені змінні ініціалізуються JavaScript зі значенням за замовчуванням невизначеним, тоді як JavaScript ніколи не встановлює значення нульового значення автоматично, це потрібно робити програмно.

Порівняння порівняння між невизначеним та нульовим

Нижче наведено 8 найкращих порівнянь між Javascript Undefined vs Null

Ключові відмінності між Javascript Undefined vs Null

І Undefined vs Null - це популярний вибір на ринку; давайте обговоримо деякі основні відмінності між невизначеним та нульовим:

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

Таблиця порівняння Undefined vs Null

Нижче перелік пунктів. Опишіть порівняння Javascript Undefined vs Null

ОСНОВИ Порівняння між Undefined vs NullНе визначеноНуль
Визначеннязмінна оголошена, але їй ще не було призначено значеннязначення присвоєння, що означає "немає значення"
ТипНе визначеноОб'єкт
JSONНедійснийДійсний
ПриродаЗмінна оголошена, але ще не призначенаПредставляють навмисну ​​відсутність об'єктної вартості
Перевіркаtypeof variableName === "невизначений"variaName === null
АрифметикаПомилка без числа (NaN)трактується як нульове значення
ПорівнянняОператор рівності поверне вірноОператор посвідчення особи поверне помилковий
ІдентифікаторМоже бути ідентифікатором властивості глобального об'єктаНе ідентифікатор властивості глобального об'єкта

Висновок - Не визначено проти Нуля

Здебільшого люди неправильно розуміють різницю між Undefined vs Null. Якщо відмінність між Undefined vs Null залишається незрозумілою, це може призвести до проблем у певних тестових випадках.

Змінна може бути "невизначена", якщо вона оголошена, але їй не надано жодного значення. З іншого боку, "null" - це значення, яке може бути призначене змінній і являє собою "no value". Тому "undefined" - тип змінної, де "null" - значення об'єкта.

"Null" вважається нічим не заповненим. Це означає, що ми навмисно присвоїли значення змінній і, таким чином, припустимо значення змінної нічого. Перевіряючи наявність нуля або невизначеності, потрібно знати про оператори рівності (==) та ідентичності (===), оскільки колишні виконують перетворення типів.

typeof null // об’єкт

тип невизначеного // невизначений

null === undefined // помилково

null == undefined // вірно

null == null // вірно

null === null // вірно

! null // вірно

isNaN (1 + null) // false

isNaN (1 + undefined) // вірно

Отже, якщо мова йде про різницю в типі, "null" - це об'єкт з дійсним значенням, що не має властивостей, не змінюється і один екземпляр існує в системі весь час. Можна перевірити природу "null", використовуючи оператор "type". Використання цього оператора дасть вихід як "об'єкт". Якщо ми будемо використовувати оператор "тип" на об'єкті, що належить до всіх критеріїв невизначеного списку, ми отримаємо тип об'єкта як "невизначений".

Інша основна відмінність між Undefined vs Null може бути укладена з перетворенням на примітивні типи. Спосіб перетворення Undefined vs Null у примітивні типи є ключовою областю для диференціації. Під час виконання арифметичного перетворення на "null" значення визначається рівним нулю. Однак "невизначений" не здійснює такого перетворення. Якщо ми спробуємо додати «неозначений» до цифри, ви отримаєте помилку без числа.

Використання "null" може бути дуже зручним у реальному сценарії. Наприклад - деякі люди не мають прізвища. Отже, у цьому випадку краще присвоїти нульове значення змінній середнього імені в об'єкті людини. Якщо хтось отримує доступ до змінної середнього імені в об'єкті людини, він має значення "невизначене". Тоді немає ніякого способу встановити, що розробник забув ініціалізувати цю змінну або вона не мала жодного значення. Якщо він призначений як null, це означає, що користувач може легко зробити висновок, що змінна середнього імені не має жодного значення.

Отже, підсумовуючи, «нульовий» і «невизначений» мають різні значення. Хоча "null" - це спеціальне ключове слово, яке вказує на відсутність значення, "undefined" означає "воно не існує". Бувають ситуації, коли це допомагає диференціювати "значення null" і "no value". Під час надсилання оновлень для списку "null" може означати, замініть це поле на "null", а невизначене може означати "не торкатися". При роботі з параметрами функції за замовчуванням: undefined означає «використовувати значення за замовчуванням», а null означає «використовувати null». Маючи Undefined vs Null як дві різні речі в JavaScript, може бути чесно болісно, ​​однак, якщо хтось є розробником JavaScript, він / вона може їй сподобатися.

Рекомендована стаття

Це було керівництвом щодо найбільшої різниці між Undefined vs Null. Тут ми також обговорюємо ключові відмінності Javascript Undefined vs Null з інфографікою та таблицею порівняння. Ви також можете переглянути наступні статті -

  1. Ідіть проти Java - Корисні відмінності
  2. Django vs WordPress відмінності
  3. JavaScript проти C #
  4. XML проти HTML - який краще
  5. Java Performance проти Python