Я попытался вставить следующий код JavaScript в веб-интерфейс Closure Compiler в расширенном режиме оптимизации:
function f(some_object) {
if (some_object.foo == 1) {
console.log(some_object.bar);
} else {
alert(some_object.bar);
}
}
var my_object = {foo: 1, bar: 2};
f(my_object);
Сгенерирован следующий скомпилированный код:
var a = {b:1, a:2};
1 == a.b ? console.log(a.a) : alert(a.a);
Но когда я поместил скомпилированный код обратно в компилятор Closure , ему удалось создать еще более короткую версию:
console.log(2);
Означает ли это, что я должен запускать компилятор Closure несколькораз в моем коде, чтобы убедиться, что я получаю наилучшую возможную оптимизацию?Есть ли потенциальные проблемы с этим?