--- title: void operator slug: Web/JavaScript/Reference/Operators/void tags: - JavaScript - Операторы - Унарные translation_of: Web/JavaScript/Reference/Operators/void ---
Оператор void вычисляет переданное выражение и возвращает {{jsxref("Global_Objects/undefined", "undefined")}}.
void expression
Этот оператор позволяет вставлять выражения, которые производят дополнительные действия, в места, где ожидается {{jsxref("Global_Objects/undefined", "undefined")}}.
Оператор void часто используется для получения примитивного значения undefined, используя "void(0)" (что эквивалентно "void 0"). В подобных случаях можно просто использовать глобальную переменную {{jsxref("Global_Objects/undefined", "undefined")}} (предполагая, что её значение по умолчанию не было изменено).
С оператором void можно использовать самовызывающиеся функции.
void function iife() {
var bar = function () {};
var baz = function () {};
var foo = function () {
bar();
baz();
};
var biz = function () {};
foo();
biz();
}();
Когда браузер переходит по javascript: URI, он вычисляет код в URI и заменяет содержание страницы возвращённым значением, если оно не равно {{jsxref("Global_Objects/undefined", "undefined")}}. Можно воспользоваться оператором void для возврата {{jsxref("Global_Objects/undefined", "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:. Лучше прибегнуть к другим альтернативам, таким, как обработчики событий.
| Спецификация | Статус | Комментарий |
|---|---|---|
| {{SpecName('ESDraft', '#sec-void-operator', 'The void Operator')}} | {{Spec2('ESDraft')}} | |
| {{SpecName('ES6', '#sec-void-operator', 'The void Operator')}} | {{Spec2('ES6')}} | |
| {{SpecName('ES5.1', '#sec-11.4.2', 'The void Operator')}} | {{Spec2('ES5.1')}} | |
| {{SpecName('ES3', '#sec-11.4.2', 'The void Operator')}} | {{Spec2('ES3')}} | |
| {{SpecName('ES1', '#sec-11.4.2', 'The void Operator')}} | {{Spec2('ES1')}} | Изначальное определение. Реализована в JavaScript 1.1. |
{{Compat}}