Това ръководство ще разгледа разликата между нула и неопределено стойности в JavaScript. Познаването на разликата между тези две стойности е важно за отстраняване на грешки и създаване на код без грешки.
Използвайте конзолата на браузъра си, за да следвате или изпробвате примерите на кода, обсъдени в това ръководство.
Сравняване на равенството на нулеви и недефинирани стойности
В JavaScript, нула е примитивна стойност, която се използва за означаване на умишлено отсъствие на стойност на обект, докато неопределено е примитивна стойност, която действа като заместител за променлива, на която не е присвоена стойност.
Нула и неопределено стойностите са равни, когато се сравняват с помощта на оператора за равенство на JavaScript.
Използвайте оператора за равенство (==) за сравнение ако нула и неопределено стойностите са равни в JavaScript.
Отворете конзолата на браузъра си и въведете следния код, след което натиснете Въведете.
null == неопределено
Изходът трябва да ви даде нещо, което изглежда така, върнатата булева стойност на вярно просто означава, че двете стойности са равни.
Научете повече: Как да декларирам променливи в JavaScript
Строго сравнение на равенството
JavaScript също има оператор за идентичност (), известен също като оператор за строго равенство в допълнение към оператора за равенство (==)
Операторът за идентичност изминава допълнителната миля, като проверява дали основният тип на сравняваните стойности е еднакъв. Това по същество означава, че въпреки че две стойности са равни, те може да не са еднакви или строго равни, ако основните им типове са различни.
За да тествате за строго равенство, използвайте тройния знак за равенство, както е показано по-долу.
null недефиниран
Резултатът от командата по-горе ще ви даде булева стойност на невярноС други думи, двете стойности не са идентични, въпреки че са равни.
Откриване на типа на нула и недефинирано
Използвайте вградената функция JavaScript тип() за да разберете основния тип стойност. Функцията приема един параметър на стойността, чийто тип искате да намерите.
Свързани: The Ultimate JavaScript Cheat Sheet
typeof (null)
Нулевата стойност е от тип обект както можете да видите от изхода по-долу.
Изпълнение на подобен тест на неопределено стойност ще ви даде резултат от неопределено.
typeof (недефиниран)
Работа с числа
За да проучите за повече разлики, проведете теста на числата на нула и неопределено стойности. Ако дадена стойност е число, това означава, че можем да извършваме числени операции върху нея.
Има два основни начина да проверите дали дадена стойност е число в JavaScript.
1. Използвайки isFinite () функция - ако тестваната стойност е число, функцията се връща вярно; в противен случай се връща невярно.
2. Използвайки isNaN () функция - ако тестваната стойност е число, тя се връща невярно; в противен случай се връща вярно.
Забележка: isNaN е съкратено от "не е число".
За да бъдат нещата прости, това ръководство ще използва само isFinite () функция за тестване дали стойността е число, но не се колебайте да опитате и isNaN () функция. И двете функции вземат като параметър стойността, на която искате да стартирате теста на числата.
isFinite (нула)
Резултатът е вярно, значение нула е стойност от типа номер в JavaScript. Като има предвид, че провеждането на същия тест на неопределено се завръща невярно.
isFinite (неопределено)
Тип Принуда
JavaScript е свободно написан език и поради това при извършване на математически операции JavaScript автоматично ще преобразува резултата в желания от него тип.
За съжаление това автоматично преобразуване, което обикновено се нарича принуда на типа, може да донесе много изненади заедно с него.
Изпълнете следната цифрова операция на нула и неопределено в конзолата на вашия браузър.
1 + нула
3 * нула
1 + неопределено
3 * неопределено;
Както можете да видите, можете да извършвате някои цифрови операции на нула стойност, защото това е число, което не съдържа стойност. Следователно се третира като нула. Обърнете внимание на това нула не е равно на нула в JavaScript, но по някакъв начин се третира по този начин в този случай.
Числените операции върху неопределено стойност резултат при връщане на NaN (Не е число) стойност. Ако не се лекувате внимателно, можете да изпитате това по време на работа.
Избягване на грешки по време на работа
Добро разбиране за нула и неопределено values е жизненоважно за избягване на грешки по време на работа във вашия производствен код. Грешки, свързани с неопределено стойностите могат да бъдат трудни за отстраняване на грешки и най-добре да се избягват.
Помислете дали да не използвате TypeScript за силно типизиран код, който се компилира в JavaScript. В TypeScript вашият код се проверява по време на компилация, за да се сведе до минимум грешките по време на изпълнение във вашия производствен код.
- Програмиране
- JavaScript
- Съвети за кодиране
Mwiza разработва софтуер по професия и пише много за Linux и програмиране отпред. Някои от интересите му включват история, икономика, политика и архитектура на предприятията.
Абонирайте се за нашия бюлетин
Присъединете се към нашия бюлетин за технически съвети, рецензии, безплатни електронни книги и ексклузивни оферти!
Още една стъпка…!
Моля, потвърдете имейл адреса си в имейла, който току-що ви изпратихме.