null, undefined

Нечітке розрізнення між цими двома сутностями може призвести до серйозних проблем під час використання «null» і «undefined» у тестових випадках.

Більшість людей, які використовують JavaScript, неправильно розуміють різницю між «null» і «undefined». Нечітке розрізнення між цими двома сутностями може призвести до серйозних проблем під час використання «null» і «undefined» у тестових випадках.

Кажуть, що змінна є «невизначеною», якщо вона була оголошена, але їй не надано значення. На відміну від цього, «null» — це значення, яке можна присвоїти змінній і означає «немає значення». Таким чином, 'undefined' є типом змінної, тоді як 'null' є значенням об'єкта.

" Null" у JavaScript

«Null» — це ключове слово в JavaScript, яке означає «немає значення» або відсутність будь-якого значення. Якщо ви бажаєте позбавити змінну її присвоєного значення, ви можете просто призначити їй «null». Крім того, як і будь-який інший об’єкт, JavaScript ніколи неявно призначається змінній. Прикладом явного присвоєння нуля є –

var some_item = null;
console.log(some_item);

Після виконання код виведе null.

« Невизначено» в JavaScript

«Undefined» — це глобальна змінна, яку JavaScript створює під час виконання. Ця глобальна змінна призначається об’єкту в одному з таких випадків:

1. Оголошений, але не визначений – JavaScript призначає «undefined» будь-якому об’єкту, який був оголошений, але не ініціалізований чи визначений. Іншими словами, у випадку, коли змінній не було явно присвоєно значення, JavaScript називає її «невизначеною».

2. Індекс масиву або властивість об'єкта, яка не існує.

3. Функціональний параметр, який не було надано.

4. Повернене значення функцій, які повинні, але не повертають значення.

Ілюстрація цього завдання показана нижче:

[js]перемінний елемент; console.log(item);

var item;
console.log(item)

Після виконання код друкуватиметься як невизначений.

Різниця в типі –

«Null» — це об’єкт із дійсним значенням, без властивостей, який не змінюється, і в системі постійно існує лише один його екземпляр. Якщо ви хочете перевірити природу об’єкта «null», ви можете використати оператор «typeof». Використання цього ж дасть вихід як "об'єкт". Однак, якщо ви використовуєте оператор «typeof» для об’єкта, який належить до однієї з точок, згаданих у списку «undefined», ви отримаєте тип об’єкта як «undefined».

Перетворення на примітивні типи –

Основна відмінність між «null» і «undefined» полягає в тому, як вони перетворюються на примітивні типи. Коли ви виконуєте арифметичне перетворення на «null», визначене значення дорівнює 0. Це перетворення можна перевірити за допомогою наступного фрагмента коду.

var v1 = 5 + null;
console.log(v1);

Після виконання цей вихід цього коду виведе 5. Однак 'undefined' не виконує такого перетворення. Якщо ви спробуєте додати «невизначене» до числа, ви отримаєте NaN або Not-a-Number. Наступний фрагмент коду ілюструє цей аспект "невизначеного".

var v1 = 5 + null;
console.log(v1);

Після виконання код виведе NaN.

Last updated