Ответ
null в JavaScript/Node.js явно указывает на отсутствие значения. Используется, когда нужно явно показать, что переменная пуста.
Отличия от undefined:
undefined— значение по умолчанию для неинициализированных переменныхnull— преднамеренное "ничего"
Пример:
let user = null; // Явно указываем, что пользователя нет
function findUser(id) {
if (!id) return null; // Ошибка: возвращаем null вместо undefined
return { id, name: 'John' };
}
Когда использовать:
- Для сброса значений объектов/переменных
- Для явного обозначения отсутствия результата (например, в функциях поиска)
- В API, где
undefinedможет быть нежелательным
Ответ 18+ 🔞
А, ну это про null и undefined! Давай разжую, как есть, без этих ваших заумных мануалов.
Смотри, представь себе квартиру. undefined — это когда ты заходишь в комнату, а там нихуя не стоит. Вообще пустота, даже пыли нет. А null — это когда ты специально поставил в центр комнаты здоровенную табличку с надписью «ЗДЕСЬ НИХУЯ НЕТ». Понимаешь разницу? В первом случае значение просто отсутствует, а во втором — ты намеренно, ебушки-воробушки, заявил об этом отсутствии.
Вот тебе живой пример, чтоб совсем въехало:
let кошелёк; // undefined — ты его даже не достал из кармана, него в помине нет
кошелёк = null; // null — ты его достал, раскрыл, а там пусто. Сознательно, ёпта, пусто.
Когда это использовать? Да всё просто, как три копейки.
null ты суёшь в дело, когда нужно чётко и ясно сказать: «Братан, тут нихуя, и это не ошибка, а фича». Например, функция ищет пользователя в базе. Не нашла — возвращает null. Это прямой намёк: «Искал, облазил всё, него нет, сорян». А если бы вернула undefined, это могло бы значить «ой, а я забыла вообще что-то вернуть» или «а я такую переменную и не объявляла».
undefined же всплывает сам, как говно в проруби. Объявил переменную, но не присвоил значение — получай undefined. Обратился к несуществующему свойству объекта — на тебе undefined. Функция ничего не вернула — опять undefined. Это значение по умолчанию для всей этой ебаной недоделанности.
Короче, запомни:
undefined— это «ой, бля, я забыл/не успел/не подумал».null— это «да, я подумал, и тут нихуя, осознанно».
Используй null в своих функциях, когда хочешь быть понятным. Это как вежливо сказать «нет», вместо того чтобы просто игнорить человека. А undefined пусть остаётся для внутренних дел движка, когда тому реально похуй, что там у тебя.