4

Этот оператор позволяет вставлять выражения, которые производят дополнительные действия, в места, где ожидается undefined.

Оператор void часто используется для получения примитивного значения undefined, используя "void(0)" (что эквивалентно "void 0"). В подобных случаях можно просто использовать глобальную переменную undefined (предполагая, что её значение по умолчанию не было изменено).

Это что нам говорит по этому поводу MDN.

Что значит "в места, где ожидается undefined"? В чем отличие простого void от void 0 (void(0))?

"В подобных случаях можно просто использовать глобальную переменную undefined (предполагая, что её значение по умолчанию не было изменено)" - тогда почему

void function(){}();

работает, а

undefined function(){}();

нет?

Кроме того, разве глобальные undefined, NaN, Infinity и null не являются иммутабельными, что "их значение по умолчанию может быть изменено"?

smellyshovel
  • 5,224
  • Вообще, судя по всему, ассоциация: https://ru.stackoverflow.com/questions/434114/%D0%A7%D1%82%D0%BE-%D0%B7%D0%BD%D0%B0%D1%87%D0%B8%D1%82-void-0?rq=1. Сразу не заметил, к сожалению... – smellyshovel Jan 06 '18 at 12:09

0 Answers0