Я признаю, что задал вопрос о том, почему компилятор Closure не сокращает определенный код, который на первый взгляд кажется сокращаемым, несколько дней назад, но эта причина неприменима в данном случае, и я не совсем уверен, почему это не так. здесь не сокращено.
У меня есть такой код:
var a = 0;
function b() {
return a++ >= 3;
}
Теперь есть предварительное и последующее приращение. Разница заключается в возвращаемом значении - a ++
возвращает a
и , затем увеличивает его, ++ a
сначала увеличивает a
] и , затем возвращает его.
Это сводится к тому, что мой код может быть сокращен до (игнорируя удаление пробелов):
var a = 0;
function b() {
return ++a > 3;
}
Однако компилятор Closure, похоже, не изменяет (или не распознает) это.
Поэтому мой вопрос: какие побочные эффекты могут ++ a>
иметь при использовании вместо a ++> =
?