The ``++void++`` operator evaluates its argument and unconditionally returns ``++undefined++``. It can be useful in pre-ECMAScript 5 environments, where ``++undefined++`` could be reassigned, but generally, its use makes code harder to understand.


== Noncompliant Code Example

----
void doSomething();
----


== Compliant Solution

----
doSomething();
----


== Exceptions

No issue is raised when ``++void 0++`` is used in place of ``++undefined++``. 

----
if (parameter === void 0) {...}
----

No issue is also raised when ``++void++`` is used before immediately invoked function expressions.

----
void (function() {
   ...
}());
----


ifdef::env-github,rspecator-view[]

'''
== Implementation Specification
(visible only on this page)

include::message.adoc[]

include::highlighting.adoc[]

'''
== Comments And Links
(visible only on this page)

include::comments-and-links.adoc[]
endif::env-github,rspecator-view[]
