Сегодня я обратил внимание на такую конструкцию в JavaScript: void 0
. И вдруг понял, что я не знаю, для чего на самом деле нужно слово void
. То, что void 0
используется как эквивалент undefined
, я догадывался, но не более. Так вот, раскрываю всем (и в том числе себе) глаза. Оператор void
используется для изменения результата любого выражения на undefined
. Как-то так получилось, что сейчас применений для этого слова почти не осталось, кроме сокращения записи undefined на целых 3 байта. Хотя на MDN написано, что void
может использоваться в URI-схеме 'javascript:
', чтобы избежать замены станицы результатом выполнения этого выражения. Да, так и есть. Проверил: если сделать ссылку <a href=”javascript: ‘Hello world’”>Click!</a>
, то после нажатия на нее, вся страница будет заменена на «Hello world». Но не во всех браузерах: Chrome выпилил этот пережиток прошлого из своих исходников, так что полагаться на эту возможность нельзя.
Вот и получаем в итоге два практически бесполезных куска знаний: void
и принцип работы схемы javascript:
.
Хочется что-то добавить или сказать? Я всегда рад обсудить. Пишите на me@dikmax.name.