Зачем использовать ключевое слово void?

Я нашел этот фрагмент в kriskowal/q:

/**
 * Applies the promised function in a future turn.
 * @param object    promise or immediate reference for target function
 * @param args      array of application arguments
 */
Q.fapply = fapply;
function fapply(value, args) {
    return dispatch(value, "apply", [void 0, args]);
}

В чем смысл использования ключевого слова void? Почему бы просто написать [undefined, args]?

Ответ 1

Из MDN Docs of void

Синтаксис

void expression

Использование

Этот оператор позволяет вставлять выражения, которые создают побочные эффекты в местах, где выражение, которое оценивается как undefined, равно желательно.

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

И почему? См. MDN Undefined

В более старых версиях JavaScript undefined можно было переопределить, но при запуске в JavaScript 1.8.5 undefined не записывается в соответствии с спецификацией ECMAScript 5.

Ответ 2

Пустое является важным ключевым словом в JavaScript, который может использоваться как унарный оператор, который появляется перед его единственным операндом, который может быть любого типа.

Этот оператор указывает выражение для оценки без возврата значения. Его синтаксис может быть одним из ниже