JS властивість Global.undefined
Загальний опис
undefined
- це спеціальне значення в JavaScript, яке вказує на те, що змінна була оголошена, але їй не було присвоєно жодного значення. Воно також повертається функцією або виразом, якщо вони не повертають жодного значення.
Перша й найважливіша річ, яку потрібно розуміти про undefined
, - це те, що це не метод чи властивість. Це примітивний тип даних в JavaScript, який є частиною стандартної специфікації ECMAScript.
undefined
часто використовується для перевірки, чи була змінна ініціалізована. Це допомагає програмістам виявляти змінні, які можуть не мати дійсних значень, та запобігти потенційним помилкам в програмах.
Як і де використовувати undefined
?
Перевірка ініціалізації змінної:
let example; if (example === undefined) { console.log("Змінна 'example' ще не ініціалізована."); }
Перевірка відсутності властивостей об'єкта:
const obj = {}; if (obj.property === undefined) { console.log("Властивість 'property' відсутня у об'єкті 'obj'."); }
Повернення функцією: якщо функція не повертає значення за допомогою оператора
return
, вона автоматично повертаєundefined
.
Особливості та прийоми роботи:
Не присвоюйте змінним значення
undefined
. Натомість використовуйтеnull
або інші значення для представлення "відсутності значення" чи "невідомого стану".Тип
undefined
та значенняnull
. Важливо розрізнятиundefined
таnull
. Вони обидва представляють "відсутність значення", але використовуються в різних контекстах.
let notDefined;
let isNull = null;
console.log(notDefined === undefined); // true
console.log(isNull === undefined); // false
console.log(isNull === null); // true
- Тип
undefined
у порівнянні з іншими:undefined
є своїм власним типом. Однак при використанні двійкового оператора порівняння (==
) він вважається рівнимnull
.
Порада: | Якщо вам потрібно перевірити, чи змінна була призначена, використовуйте оператор типу
|
Порада: | Коли розробляєте функції, ви можете використовувати
|
Порада: | У JavaScript існує різниця між |
Порада: | У старіших версіях JavaScript |
Нотатка: | В TypeScript, надбудові JavaScript, тип |
Синтаксис
undefined
Значення
Return
Переглядачі
Переглядач | |||||
---|---|---|---|---|---|
1 |
1 |
1 |
3 |
12 |
Переглядач | ||||
---|---|---|---|---|
4.4 |
18 |
4 |
1 |
Переглядач | ||
---|---|---|
0.10.0 |
1.0 |
Приклади
У цьому прикладі ми об'являємо змінну testVar
без присвоєння їй якого-небудь значення. Тому її початкове значення буде undefined
. Після цього ми використовуємо умовний оператор для перевірки, чи є значення змінної рівним undefined
.
// Об'являємо змінну без призначення значення
var testVar;
// Перевіряємо, чи змінна є undefined
if (testVar === undefined) {
console.log("Змінна testVar є undefined");
} else {
console.log("Змінна testVar має значення");
}
Цей приклад демонструє, як можна використовувати undefined
для роботи з опціональними параметрами функції. У функції getUserName
, якщо аргумент name
не передано, його значення за замовчуванням буде undefined
. Тому, якщо name
є undefined
, функція повертає слово "Гість". У іншому випадку вона повертає значення аргумента name
.
// Функція, яка повертає ім'я користувача або "Гість", якщо ім'я не вказано
function getUserName(name) {
if (name === undefined) {
return "Гість";
}
return name;
}
console.log(getUserName()); // Виводить: "Гість"
console.log(getUserName("Іван")); // Виводить: "Іван"