我试图了解以下原因:
我有
class User {
wow:String = "xxx";
}
和TypeScript编译器将其编译为
var User = (function () {
function User() {
this.wow = "xxx";
}
return User;
}());
而不是
var User = function() {
this.wow = "xxx";
};
使用嵌套的User构造函数和立即函数调用有什么好处?
答案 0 :(得分:3)
可能有几个很好的理由,但我怀疑其中一个原因是如果你执行以下普通的旧JavaScript(通过TypeScript'编译器输出):
var john = new User();
console.log("John constructed with: " + john.constructor);
然后你得到,
John constructed with: function User() {
this.wow = "xxx";
}
代替,
John constructed with: function() {
this.wow = "xxx";
}
哪里有机会看到"用户" (构造函数的标识符)可以提供有用的提示,稍后调试某些内容,或等等。
' HTH,