void 0 - эффективная константа пуленепробиваемого времени компиляции для undefined без требований поиска. это
например, писать null или true вместо поиска значения переменной. Он работает из коробки без каких-либо аргументов в области безопасности и короче писать. Это лучше во всех отношениях.
Ответ 3
JS очень силен в синтаксисе, скобки здесь необязательны, void 0 и void(0) эквивалентны.
Во втором вопросе вам нужно использовать undefined напрямую, избегая ненулевой оценки операнда, чтобы получить одно и то же значение undefined.