Our volunteers haven't translated this article into हिन्दी (भारत) yet. Join us and help get the job done!
You can also read the article in English (US).

The void operator evaluates the given expression and then returns undefined.

Syntax

void expression

Description

This operator allows evaluating expressions that produce a value 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.

Non-leaking Arrow Functions

Arrow functions introduce a short-hand braceless syntax that returns an expression. This can cause unintended side effects by returning the result of a function call that previously returned nothing. To be safe, when the return value of a function is not intended to be used, it can be passed to the void operator to ensure that (for example) changing APIs do not cause arrow functions' behaviors to change.

button.onclick = () => void doSomething();

This ensures the return value of doSomething changing from undefined to true will not change the behavior of this code.

Specifications

Specification Status Comment
ECMAScript Latest 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

Update compatibility data on GitHub
DesktopMobileServer
ChromeEdgeFirefoxInternet ExplorerOperaSafariAndroid webviewChrome for AndroidEdge MobileFirefox for AndroidOpera for AndroidiOS SafariSamsung InternetNode.js
Basic supportChrome Full support YesEdge Full support YesFirefox Full support 1IE Full support YesOpera Full support YesSafari Full support YesWebView Android Full support YesChrome Android Full support YesEdge Mobile Full support YesFirefox Android Full support 4Opera Android Full support YesSafari iOS Full support YesSamsung Internet Android Full support Yesnodejs Full support Yes

Legend

Full support  
Full support

See also

दस्तावेज़ टैग और योगदानकर्ता

टैग: 
इस पृष्ठ के लिए योगदानकर्ता: shicks, wbamberg, fscholz, svvac, jameshkramer, Sebastianz, teoli, BrandonMintern, getify, Havvy, monzuahmed, Delapouite, secondtruth, roryokane, Sheppy, ethertank, dbruant, alex.w.y, HeroreV, Mgjbot, Dria
अंतिम अद्यतन: shicks,