void operator
The void
operator evaluates the given expression
and then returns undefined
.
Syntax
void expression
Description
This operator allows inserting expressions that produce side effects into places where an expression that evaluates to 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 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 undefined
. The void
operator can be used to return 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 2017 Draft (ECMA-262) The definition of 'The void Operator' in that specification. |
Draft | |
ECMAScript 2015 (6th Edition, ECMA-262) The definition of 'The void Operator' in that specification. |
Standard | |
ECMAScript 5.1 (ECMA-262) The definition of 'The void Operator' in that specification. |
Standard | |
ECMAScript 3rd Edition (ECMA-262) The definition of 'The void Operator' in that specification. |
Standard | |
ECMAScript 1st Edition (ECMA-262) The definition of 'The void Operator' in that specification. |
Standard | Initial definition. Implemented in JavaScript 1.1 |
Browser compatibility
Feature | Chrome | Firefox (Gecko) | Internet Explorer | Opera | Safari |
---|---|---|---|---|---|
Basic support | (Yes) | (Yes) | (Yes) | (Yes) | (Yes) |
Feature | Android | Chrome for Android | Firefox Mobile (Gecko) | IE Mobile | Opera Mobile | Safari Mobile |
---|---|---|---|---|---|---|
Basic support | (Yes) | (Yes) | (Yes) | (Yes) | (Yes) | (Yes) |
See also
License
© 2016 Mozilla Contributors
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-us/docs/web/javascript/reference/operators/void