Это специальное значение, которое JavaScript автоматически присваивает переменным при их объявлении без инициализации.
Также undefined возвращается, когда функция ничего не возвращает или когда пытаются обратиться к несуществующему свойству объекта.
let unassigned; // переменная объявлена, но не имеет значения
console.log(unassigned); // undefinedПеременная объявлена, но не инициализирована:
let name;
console.log(name); // undefinedФункция не возвращает значение:
function sayHello() {
// нет return
}
console.log(sayHello()); // undefinedОбращение к несуществующему свойству объекта:
const user = { name: "Alex" };
console.log(user.age); // undefinedПараметр функции не передан:
function greet(name) {
console.log(name); // undefined, если аргумент не указан
}
greet();null — это специальное значение, указывающее на то, что переменная пуста или имеет неизвестное значение.
Данное значение чувствительно к регистру — для написания null используются только строчные буквы:
let empty = null;Это примитив, но при проверке через typeof возвращает "object" (это историческая ошибка в JavaScript).
Используется, когда нужно явно указать, что переменная ничего не содержит.
null и undefined часто путают, но у них разное назначение:
null |
undefined |
|---|---|
Намеренное отсутствие значения (программист сам присвоил null). |
Неопределённое значение (переменная объявлена, но не инициализирована). |
Пример: let user = null; (пользователь отсутствует). |
Пример: let age; (значение не задано). |
console.log(typeof null); // "object"
console.log(typeof undefined); // "undefined"