2016-07-29 4 views
1

машинопись transpiles certain code в этом:JavaScript: что означает «void 0»?

Animal.prototype.move = function (distanceInMeters) { 
    if (distanceInMeters === void 0) { distanceInMeters = 0; } 
    ... 

void 0 Что? Это тот же трюк, который используется для ссылок void(0)? Почему вместо этого используется undefined?

+2

Он просто не используется, если кто-то переопределяет 'undefined'. – Sirko

+0

Интересно, как это могло быть дублировано, если бы это было задано перед двумя другими вопросами? –

ответ

3

Оператор void всегда оценивает как неопределенное значение.

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

2

Оператор void оценивает данное выражение и затем возвращает неопределенный.

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