void operator

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.

Оператор void вычисляет переданное выражение и возвращает undefined.

Синтаксис

void expression

Описание

Этот оператор позволяет вставлять выражения, которые производят дополнительные действия, в места, где ожидается undefined.

Оператор void часто используется для получения примитивного значения undefined, используя "void(0)" (что эквивалентно "void 0"). В подобных случаях можно просто использовать глобальную переменную undefined (предполагая, что её значение по умолчанию не было изменено).

Самовызывающаяся функция (IIFE)

С оператором void можно использовать самовызывающиеся функции.

js
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. Например:

html
<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:. Лучше прибегнуть к другим альтернативам, таким, как обработчики событий.

Спецификации

Specification
ECMAScript Language Specification
# sec-void-operator

Совместимость с браузерами

BCD tables only load in the browser

Смотрите также