Оператор void вычисляет переданное выражение и возвращает undefined.
Синтаксис
void expression
Описание
Этот оператор позволяет вставлять выражения, которые производят дополнительные действия, в места, где ожидается undefined.
Оператор void часто используется для получения примитивного значения undefined, используя "void(0)" (что эквивалентно "void 0"). В подобных случаях можно просто использовать глобальную переменную undefined (предполагая, что её значение по умолчанию не было изменено).
Самовызывающаяся функция (IIFE)
С оператором void можно использовать самовызывающиеся функции.
void function iife() {
var bar = function () {};
var baz = function () {};
var foo = function () {
bar();
baz();
};
var biz = function () {};
foo();
biz();
}();
JavaScript URIs
Когда браузер переходит по javascript: URI, он вычисляет код в URI и заменяет содержание страницы возвращенным значением, если оно не равно undefined. Можно воспользоваться оператором void для возврата undefined. Например:
<a href="javascript:void(0);">
Click here to do nothing
</a>
<a href="javascript:void(document.body.style.backgroundColor='green');">
Click here for green background
</a>
Однако заметим, что не рекомендуется использовать псевдо-протокол javascript:. Лучше прибегнуть к другим альтернативам, таким, как обработчики событий.
Спецификации
| Спецификация | Статус | Комментарий |
|---|---|---|
| ECMAScript Latest Draft (ECMA-262) Определение 'The void Operator' в этой спецификации. |
Черновик | |
| ECMAScript 2015 (6th Edition, ECMA-262) Определение 'The void Operator' в этой спецификации. |
Стандарт | |
| ECMAScript 5.1 (ECMA-262) Определение 'The void Operator' в этой спецификации. |
Стандарт | |
| ECMAScript 3rd Edition (ECMA-262) Определение 'The void Operator' в этой спецификации. |
Стандарт | |
| ECMAScript 1st Edition (ECMA-262) Определение 'The void Operator' в этой спецификации. |
Стандарт | Изначальное определение. Реализована в JavaScript 1.1. |
Совместимость с браузерами
| Возможность | Chrome | Firefox (Gecko) | Internet Explorer | Opera | Safari |
|---|---|---|---|---|---|
| Базовая поддержка | (Да) | (Да) | (Да) | (Да) | (Да) |
| Возможность | Android | Chrome for Android | Firefox Mobile (Gecko) | IE Mobile | Opera Mobile | Safari Mobile |
|---|---|---|---|---|---|---|
| Базовая поддержка | (Да) | (Да) | (Да) | (Да) | (Да) | (Да) |