Бесполезные знания по JavaScript
Среда, 29 августа 2012

Сегодня я обратил внимание на такую конструкцию в 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:.

← Утренний натюрмортПолучение бинарных данных в Google Closure Library →