Современный V8, игнорирует спецификацию void как таковую.
И преобразовывает любой код с void к такому, который исполняется без него, с полсдещуюей вставкой undefined
Например код
function doThing() {};
void doThing();На уровне V8, код будет приведен к следующему байт коду:
CallUndefinedReceiver0 r0, [0]
LdaUndefined
Эквивалентом этому коду на языке JavaScript будет:
function doThing() {};
(
doThing()
, undefined
)Вместо ИГОГО
Современный V8 игнорирует void как самостоятельный оператор, и заменяет его альтернативным взаимозаменяемым кодом.
То есть с точки зрения проивзодительности, в отличии от махровых времен, сейчас никаких дополнительных расходов на использования void нет.
Пишите сколько влезет. V8 за вас заменит его на undefined.