The void
operator evaluates the given expression
and then returns {{jsxref("Global_Objects/undefined", "undefined")}}.
Syntax
void expression
Description
This operator allows inserting expressions that produce side effects into places where an expression that evaluates to {{jsxref("Global_Objects/undefined", "undefined")}} is desired.
The void
operator is often used merely to obtain the undefined
primitive value, usually using "void(0)
" (which is equivalent to "void 0
"). In these cases, the global variable {{jsxref("Global_Objects/undefined", "undefined")}} can be used instead (assuming it has not been assigned to a non-default value).
Immediately Invoked Function Expressions
When using an immediately-invoked function expression, void
can be used to force the function
keyword to be treated as an expression instead of a declaration.
void function iife() { var bar = function () {}; var baz = function () {}; var foo = function () { bar(); baz(); }; var biz = function () {}; foo(); biz(); }();
JavaScript URIs
When a browser follows a javascript:
URI, it evaluates the code in the URI and then replaces the contents of the page with the returned value, unless the returned value is {{jsxref("Global_Objects/undefined", "undefined")}}. The void
operator can be used to return {{jsxref("Global_Objects/undefined", "undefined")}}. For example:
<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>
Note, however, that the javascript:
pseudo protocol is discouraged over other alternatives, such as unobtrusive event handlers.
Specifications
Specification | Status | Comment |
---|---|---|
ECMAScript 1st Edition. | Standard | Initial definition. Implemented in JavaScript 1.1 |
{{SpecName('ES5.1', '#sec-11.4.2', 'The void Operator')}} | {{Spec2('ES5.1')}} | |
{{SpecName('ES6', '#sec-void-operator', 'The void Operator')}} | {{Spec2('ES6')}} |
Browser compatibility
{{CompatibilityTable}}
Feature | Chrome | Firefox (Gecko) | Internet Explorer | Opera | Safari |
---|---|---|---|---|---|
Basic support | {{CompatVersionUnknown}} | {{CompatVersionUnknown}} | {{CompatVersionUnknown}} | {{CompatVersionUnknown}} | {{CompatVersionUnknown}} |
Feature | Android | Chrome for Android | Firefox Mobile (Gecko) | IE Mobile | Opera Mobile | Safari Mobile |
---|---|---|---|---|---|---|
Basic support | {{CompatVersionUnknown}} | {{CompatVersionUnknown}} | {{CompatVersionUnknown}} | {{CompatVersionUnknown}} | {{CompatVersionUnknown}} | {{CompatVersionUnknown}} |