What exactly is the difference between undefined and void 0 ?
Which is preferred and why?
Parentheses here are optional, void 0, void(0) and void (0) are equivalent. The void is a unary operator with a right-to-left associativity, hence the value is placed at the right of it:
void .
For second question, you need to use undefined directly while avoiding unneeded operand evaluation to retrieve the same undefined value.
More info in the reference: https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Operators/void