0
假設下面的代碼。關閉編譯器高級優化防止對象屬性重命名
1)在ClosureTestClass構造函數中,我們得到一個從外部系統傳入的對象。如果在此代碼中重命名inputObjectFromExternalSystem的property1,則從外部系統發送的對象將不具有重命名的屬性。有沒有辦法指定編譯器不要重命名特定對象的屬性。
我知道我們可以通過使用
inputObjectFromExternalSystem['property1'].
我正在尋找像意見的東西/ ** * @expose /做。我試着用/ ** @lends * /但它沒有工作。
// ==ClosureCompiler==
// @compilation_level ADVANCED_OPTIMIZATIONS
// @output_file_name default.js
// @formatting pretty_print
// @use_closure_library true
// ==/ClosureCompiler==
/** @export */
var ClosureTestClass = (function() {
function ClosureTestClass(inputObjectFromExternalSystem) {
this.property1 = inputObjectFromExternalSystem.property1;
this.property2 = inputObjectFromExternalSystem.property2;
}
/** @expose */
ClosureTestClass.prototype.printProperty = function() {
console.log(this.property1);
console.log(this.property2);
};
return ClosureTestClass;
})();
/** @export */
var ClosureTestClassUse = (function() {
function ClosureTestClassUse() {
this.closureTest = new ClosureTestClass;
}
/** @expose */
ClosureTestClassUse.prototype.print = function() {
console.log(this.closureTest);
};
return ClosureTestClassUse;
})();
var a = new ClosureTestClassUse();
2)有什麼用例/ ** * @lends/