Каква е разликата между Null и Undefined в JavaScript?

Каква е разликата между Null и Undefined в JavaScript?

Това ръководство ще разгледа разликата между нула и неопределен стойности в JavaScript. Познаването на разликата между тези две стойности е важно за отстраняване на грешки и създаване на код без грешки.





как да спрем известията на живо във facebook на iphone

Използвайте конзолата на браузъра си, за да следвате или изпробвате кодовите примери, обсъдени в това ръководство.





Сравняване на равенството на нулевите и неопределените стойности

В JavaScript, нула е примитивна стойност, която се използва за означаване на умишленото отсъствие на стойност на обект, докато неопределен е примитивна стойност, която действа като заместител на променлива, на която не е присвоена стойност.





Нула и неопределен стойностите са равни в сравнение с помощта на оператора за равенство на JavaScript.

Използвайте оператора за равенство ( == ) за сравнение, ако нула и неопределен стойностите са равни в JavaScript.



Отворете конзолата на браузъра си и въведете следния код, след което натиснете Въведете.

null == undefined

Изходът трябва да ви даде нещо, което изглежда така, върнатата булева стойност на вярно просто означава, че двете стойности са равни.





Научете повече: Как да декларирате променливи в JavaScript

Строго сравнение на равенството

JavaScript също има оператор за идентичност ( === ), известен също като оператор на строго равенство в допълнение към оператора на равенство ( == )





Операторът за идентичност изминава допълнителната миля, като проверява дали основният тип на сравняваните стойности е един и същ. Това по същество означава, че въпреки че двете стойности са равни, те може да не са идентични или строго равни, ако основните им типове са различни.

За да проверите за строго равенство, използвайте тройния знак за равенство, както е показано по -долу.

null === undefined

Резултатът от горната команда ще ви даде булева стойност от невярно , С други думи, двете стойности не са идентични, въпреки че са равни.

Откриване на типа на нулево и недефинирано

Използвайте вградената функция JavaScript тип() за да разберете основния тип стойност. Функцията приема един параметър на стойността, чийто тип искате да намерите.

Свързани: The Ultimate JavaScript Cheat Sheet

typeof(null)

Нулевата стойност е от тип обект както можете да видите от изхода по -долу.

Провеждане на подобен тест на неопределен стойността ще ви даде резултат от неопределен .

typeof(undefined)

Работа с числа

За да проучите за повече разлики, направете числовия тест нула и неопределен стойности. Ако стойността е число, това означава, че можем да провеждаме числени операции с нея.

Има два основни начина да проверите дали дадена стойност е число в JavaScript.

1. Използвайки isFinite() функция - ако изпитваната стойност е число, функцията се връща вярно ; в противен случай се връща невярно .

2. Използвайки isNaN () функция - ако изпитваната стойност е число, тя се връща невярно ; в противен случай се връща вярно .

Забележка : isNaN е съкращение от „не е число“.

За да опростите нещата, това ръководство ще използва само isFinite() функция, за да проверите дали стойността е число, но не се колебайте да опитате и isNaN () функция. И двете функции приемат като параметър стойността, на която искате да стартирате числовия тест.

isFinite(null)

Резултатът е вярно , смисъл нула е стойност от типа номер в JavaScript. Като има предвид, че провеждането на същия тест на неопределен се завръща невярно .

isFinite(undefined)

Тип Принуда

JavaScript е свободно въведен език и поради това при извършване на математически операции JavaScript автоматично ще преобразува резултата в желания от него тип.

За съжаление това автоматично преобразуване, което обикновено се нарича принуда от тип, може да донесе много изненади заедно с него.

Изпълнете следната числова операция на нула и неопределен в конзолата на браузъра.

1 + null 3 * null 1 + undefined 3 * undefined;

Както можете да видите, можете да извършите някои цифрови операции върху нула стойност, защото това е число, което няма стойност. Затова се третира като нула. Обърнете внимание, че нула не е равно на нула в JavaScript, но в този случай по някакъв начин се третира така.

Числените операции върху неопределен стойност резултат при връщане на NaN Стойност (не е число). Ако не се лекува внимателно, това може да се случи по време на изпълнение.

Избягване на грешки по време на работа

Добро разбиране на нула и неопределен values ​​е жизненоважно за избягване на грешки по време на работа във вашия производствен код. Грешки, свързани с неопределен стойностите могат да бъдат трудни за отстраняване на грешки и най -добре се избягват.

Помислете за използване на TypeScript за строго въведен код, който се компилира в JavaScript. В TypeScript вашият код се проверява по време на компилиране, за да се сведе до минимум грешките по време на работа във вашия производствен код.

Дял Дял Туит електронна поща Свързани теми
  • Програмиране
  • JavaScript
  • Съвети за кодиране
За автора Добре за тръгване(36 статии са публикувани)

Mwiza разработва софтуер по професия и пише широко за Linux и front-end програмиране. Някои от интересите му включват история, икономика, политика и корпоративна архитектура.

Още от Mwiza Kumwenda

Абонирайте се за нашия бюлетин

Присъединете се към нашия бюлетин за технически съвети, рецензии, безплатни електронни книги и изключителни оферти!

Щракнете тук, за да се абонирате