我一直在玩 TypeScript,我注意到它遵循 JS 的特定风格。
以下打字稿:
class Greeter {
greeting: string;
constructor(message: string) {
this.greeting = message;
}
greet() {
return "Hello, " + this.greeting;
}
}
像这样生成 JS:
var Greeter = (function () {
function Greeter(message) {
this.greeting = message;
}
Greeter.prototype.greet = function () {
return "Hello, " + this.greeting;
};
return Greeter;
})();
IIFE 有什么好处?为什么我需要将我的方法附加到新范围内的原型?
如果我继续这样做,我会失去什么吗:
function Greeter(message) {
this.greeting = message;
}
Greeter.prototype.greet = function () {
return "Hello, " + this.greeting;
};
(就像我一直做的那样)而不是?