Why is this an issue?

The void operator evaluates its argument and always returns undefined. void allows using any expression where an undefined is expected. However, using void makes code more difficult to understand, as the intent is often unclear.

if (parameter === void 42) { // Noncompliant
   // ...
}
doSomethingElse(void doSomething()); // Noncompliant

Instead of using void to get the undefined value, use the undefined global property. In ECMAScript5 and newer environments, undefined cannot be reassigned. In other cases, remove the void operator to avoid confusion for maintainers.

if (parameter === undefined) {
   // ...
}
doSomething();
doSomethingElse();

Exceptions

if (parameter === void 0) {
   // ...
}
void function() {
   // ...
}();
const runPromise = () => Promise.resolve();
void runPromise();

Resources

Documentation