Junior
Разкажете повече за стойностите null и undefined в JavaScript.
sobes.tech AI
Отговор от AI
-
неопределено:- Имплицитна стойност, присвоявана на променливи, които са обявени, но не са инициализирани.
- Също така се връща от функции, които явно не връщат стойност.
- Това е примитивен тип данни.
- Операторът
typeofвръща низ"undefined".
-
null:- Явна стойност, присвоена на променлива, за да се обозначи липсата на обект.
- Представлява умишленото отсъствие на всяка стойност на обект.
- Това е примитивен тип данни, но операторът
typeofнеправилно връща"object"(историческа грешка).
| Свойство | неопределено |
null |
|---|---|---|
| Произход | Неявен (от системата) | Явен (от разработчика) |
| Тип | Примитивен | Примитивен (въпреки че typeof - object) |
| Стойност | Неинициализирана променлива | Липса на обект |
// Пример за undefined
let неинициализиранаПроменлива;
console.log(неинициализиранаПроменлива); // undefined
function безСтойностНаВръщане() {
// няма return
}
console.log(безСтойностНаВръщане()); // undefined
console.log(typeof неинициализиранаПроменлива); // undefined
// Пример за null
let обектПроменлива = null;
console.log(обектПроменлива); // null
console.log(typeof обектПроменлива); // object (историческа грешка)