Closure Compiler - может ли a ++> = 3 стать ++ a> 3?

Я признаю, что задал вопрос о том, почему компилятор Closure не сокращает определенный код, который на первый взгляд кажется сокращаемым, несколько дней назад, но эта причина неприменима в данном случае, и я не совсем уверен, почему это не так. здесь не сокращено.

У меня есть такой код:

var a = 0;
function b() {
    return a++ >= 3;
}

Теперь есть предварительное и последующее приращение. Разница заключается в возвращаемом значении - a ++ возвращает a и , затем увеличивает его, ++ a сначала увеличивает a ] и , затем возвращает его.

Это сводится к тому, что мой код может быть сокращен до (игнорируя удаление пробелов):

var a = 0;
function b() {
    return ++a > 3;
}

Однако компилятор Closure, похоже, не изменяет (или не распознает) это.

Поэтому мой вопрос: какие побочные эффекты могут ++ a> иметь при использовании вместо a ++> = ?

5
задан Yi Jiang 10 April 2011 в 11:56
поделиться