ドキュメント ( https://developers.google.com/closure/compiler/docs/api-tutorial3#externs ) によると、外部から関数/変数を使用する場合を含め、外部宣言が存在しない場合、クロージャ コンパイラは変数の名前を変更する必要があるようです。コードのビット。彼らが与える例は
function makeNoteDom(noteTitle, noteContent, noteContainer) {
// Create DOM structure to represent the note.
var headerElement = textDiv(noteTitle);
var contentElement = textDiv(noteContent);
...
}
ここで、textDiv 関数は、何らかのサードパーティ ライブラリによってグローバル スコープで宣言されます。名前の変更を防ぐために、textDiv を外部で宣言する必要があると書かれています。
私の質問は、このコードまたは類似のコードをextern 宣言なしでClosure Compilerに入れると、ドキュメントに示されているように、textDiv の名前が変更されない (コードが壊れる) のはなぜですか?