高度な最適化を使用するGoogleクロージャコンパイラではプロパティの名前が変更されますが、他のプロパティは変更されないことが記載されています。しかし、そこには次のコードでは、「ID」と「可視性」プロパティの名前を変更するために失敗した理由として何の説明もないように思われる:Googleクロージャコンパイラで一部のプロパティの名前が変更されない
const model = {
age: 5,
id: 1234,
visibility: true,
skills: 4,
hair: 667
}
function doSomething() {
var s = Object.create(model);
console.log("Age: " + model.age);
s.visibility = "john";
s.age = 2;
s.skills = 5;
s.hair = 999;
model.age = 6;
return s;
}
doSomething();
をそして、これはコンパイラの設定です:
java -jar closure-compiler/compiler.jar \
--compilation_level ADVANCED_OPTIMIZATIONS \
--js_output_file scripts/release/test-min.js \
--warning_level VERBOSE \
--language_out ECMASCRIPT5 \
--language_in=ES6_Strict \
--js scripts/temp/test.js
エクスターナルがないことに気づくでしょう。
デフォルトのexternを使用していることに気付かなかった。ありがとう! Googleの検索で、デフォルトのexternsに関する結果が得られました:https://github.com/google/closure-compiler/wiki/FAQ – AndroidDev