JS властивість Global.undefined


Загальний опис

undefined - це спеціальне значення в JavaScript, яке вказує на те, що змінна була оголошена, але їй не було присвоєно жодного значення. Воно також повертається функцією або виразом, якщо вони не повертають жодного значення.

Перша й найважливіша річ, яку потрібно розуміти про undefined, - це те, що це не метод чи властивість. Це примітивний тип даних в JavaScript, який є частиною стандартної специфікації ECMAScript.

undefined часто використовується для перевірки, чи була змінна ініціалізована. Це допомагає програмістам виявляти змінні, які можуть не мати дійсних значень, та запобігти потенційним помилкам в програмах.

Як і де використовувати undefined?

  1. Перевірка ініціалізації змінної:

    let example;
    if (example === undefined) {
      console.log("Змінна 'example' ще не ініціалізована.");
    }
    
  2. Перевірка відсутності властивостей об'єкта:

    const obj = {};
    if (obj.property === undefined) {
      console.log("Властивість 'property' відсутня у об'єкті 'obj'.");
    }
    
  3. Повернення функцією: якщо функція не повертає значення за допомогою оператора return, вона автоматично повертає undefined.

Особливості та прийоми роботи:

  1. Не присвоюйте змінним значення undefined. Натомість використовуйте null або інші значення для представлення "відсутності значення" чи "невідомого стану".

  2. Тип undefined та значення null. Важливо розрізняти undefined та null. Вони обидва представляють "відсутність значення", але використовуються в різних контекстах.

let notDefined;
let isNull = null;

console.log(notDefined === undefined); // true
console.log(isNull === undefined); // false
console.log(isNull === null); // true
  1. Тип undefined у порівнянні з іншими: undefined є своїм власним типом. Однак при використанні двійкового оператора порівняння (==) він вважається рівним null.
автор: Bond

Порада

У JavaScript існує різниця між undefined (змінна не призначена) та null (змінна призначена, але не має значення). Завжди правильно вибирайте, яке з цих двох значень вам потрібне у конкретному контексті, і використовуйте їх відповідно до призначення.

автор: Bond
Порада

У старіших версіях JavaScript undefined можна було перевизначити, що могло призвести до непередбачуваних помилок. Завжди уникайте присвоєння значень глобальній змінній undefined.

автор: Bond
Порада

Якщо вам потрібно перевірити, чи змінна була призначена, використовуйте оператор типу typeof. Це забезпечує надійний спосіб виявлення undefined незалежно від глобальних перевизначень.

if (typeof myVar === "undefined") {
   // змінна не визначена
}
автор: Bond
Порада

Коли розробляєте функції, ви можете використовувати undefined для перевірки, чи було передано додаткові аргументи, і, якщо ні, призначити їм типові значення.

function greet(name) {
   if (name === undefined) {
       name = "Гість";
   }
   console.log("Вітаємо, " + name + "!");
}
автор: Bond
Нотатка

В TypeScript, надбудові JavaScript, тип undefined відіграє ключову роль в системі типів, дозволяючи вам створювати більш безпечний код.

автор: Bond

Синтаксис

undefined

Переглядачі

Підтримка: стаціонарні переглядачі
Переглядач Google Chrome Mozilla Firefox Apple Safari Opera Microsoft EDGE
1 1 1 3 12
Підтримка: мобільні переглядачі
Переглядач Mobile Google Android Mobile Google Chrome Mobile Mozilla Firefox Mobile Apple Safari
4.4 18 4 1
Підтримка: серверні переглядачі
Переглядач Node.js Deno
0.10.0 1.0

Приклади

+ запропонувати свій приклад у пісочниці

У цьому прикладі ми об'являємо змінну testVar без присвоєння їй якого-небудь значення. Тому її початкове значення буде undefined. Після цього ми використовуємо умовний оператор для перевірки, чи є значення змінної рівним undefined.

// Об'являємо змінну без призначення значення
var testVar;

// Перевіряємо, чи змінна є undefined
if (testVar === undefined) {
    console.log("Змінна testVar є undefined");
} else {
    console.log("Змінна testVar має значення");
}
автор: Bond

Цей приклад демонструє, як можна використовувати undefined для роботи з опціональними параметрами функції. У функції getUserName, якщо аргумент name не передано, його значення за замовчуванням буде undefined. Тому, якщо name є undefined, функція повертає слово "Гість". У іншому випадку вона повертає значення аргумента name.

// Функція, яка повертає ім'я користувача або "Гість", якщо ім'я не вказано
function getUserName(name) {
    if (name === undefined) {
        return "Гість";
    }
    return name;
}

console.log(getUserName());       // Виводить: "Гість"
console.log(getUserName("Іван")); // Виводить: "Іван"
автор: Bond

Коментарі

Коментарів ще немає — будьте першим!

Відповідь для

Увійдіть — коментар з'явиться одразу, без капчі й очікування перевірки.

Пропозиція правки

Ваша версія — : після перевірки замінить чинну. Нова порада чи нотатка — з'явиться на сторінці після перевірки.

Ви гість — діють добові ліміти. Увійдіть, щоб пропонувати без капчі.

Ваша версія секції «»: після перевірки замінить чинну.

Ви гість — діють добові ліміти. Увійдіть, щоб пропонувати без капчі.

Ваша версія опису «»: після перевірки замінить чинну.

Ви гість — діють добові ліміти. Увійдіть, щоб пропонувати без капчі.

Зворотний зв'язок
Вхід