30 lines
639 B
Plaintext
30 lines
639 B
Plaintext
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() {
|
|
...
|
|
}());
|
|
----
|