Загрузка…
Загрузка…
Оператор void вычисляет выражение и всегда возвращает undefined. Запись void 0 — надёжный способ получить undefined.
void 0; // undefined
void 1; // undefined
void (fn()); // вызовет fn, результат — undefinedundefined можно было перезаписать (undefined = 1 в non-strict) — void 0 оставался безопасным.void 0 вместо undefined (короче/безопаснее в легаси).javascript:void(0) для ссылок «без навигации» (сейчас лучше <button> / preventDefault).if (typeof value === "undefined") { /* … */ }
// эквивалентная проверка значения:
if (value === void 0) { /* … */ }Перезаписать глобальный undefined в модулях/strict почти нельзя — нужда в void 0 реже. Всё ещё встречается в бандлах и легаси.
Итог: void 0 — выражение, гарантированно дающее undefined; исторически защита от переопределения undefined.
