логотип PurpleSchool
Иконка входа
Вход
логотип PurpleSchool

null в JavaScript

Автор

Дмитрий Нечаев

null в JavaScript является примитивным значением, которое используется для обозначения намеренного отсутствия значения объекта. В отличие от undefined, которое указывает на отсутствие значения переменной, null указывает на то, что у переменной есть значение, которое явно равно "ничему". Давайте рассмотрим основы работы с null в JavaScript, включая его характеристики, использование и сравнение с другими типами данных.

Присваивание значения null

Переменной может быть присвоено значение null явно, когда нам необходимо указать, что переменная имеет "пустое" значение.

let x = null;
console.log(x); // Выведет: null

null и typeof

Оператор typeof возвращает тип переменной. При использовании с null он возвращает "object", что является одним из недочетов JavaScript.

let y = null;
console.log(typeof y); // Выведет: object

Проверка на null

Для проверки переменной на значение null можно использовать оператор сравнения или строгое сравнение.

let z = null;
console.log(z === null); // Выведет: true

let a = 5;
console.log(a === null); // Выведет: false

null и объекты

null часто используется для указания на отсутствие значения объекта.

let person = null; // Начальное значение — отсутствие объекта
person = { name: "John", age: 30 }; // Теперь person ссылается на объект
person = null; // Очищаем переменную person, указывая, что объект больше не нужен

null и очистка ссылок

Присваивание null переменной также используется для очистки ссылок на объекты, чтобы помочь сборщику мусора освободить память.

let obj = { name: "Alice" };
// Используем объект...
obj = null; // Указываем, что ссылка на объект больше не нужна
// Сборщик мусора освободит память, занятую объектом

Заключение

null в JavaScript является примитивным значением, которое используется для обозначения намеренного отсутствия значения объекта. Он помогает явно указать отсутствие значимого объекта или значения переменной. Понимание работы с null помогает более эффективно управлять переменными и объектами в JavaScript и предотвращает ошибки при работе с ними.

Карта развития разработчика

Получите полную карту развития разработчика по всем направлениям: frontend, backend, devops, mobile