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