The void operator evaluates it's argument and unconditionally returns undefined. There are only rare justifications for using it. The assignment of undefined is a bad practice - it should only be seen as a starting value for an uninitialized variable - and the evaluation of the argument can be handled by other means. Further, the use of void, which can be used with or without parentheses, so could be confusing.

Noncompliant Code Example

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

Compliant Solution

(function() {
   ...
}());