【发布时间】:2016-10-16 17:30:05
【问题描述】:
我在看Typescript 的操场,看到了这个类声明:
class Greeter {
greeting: string;
constructor(message: string) {
this.greeting = message;
}
greet() {
return "Hello, " + this.greeting;
}
}
转换成这个 ES5 代码:
var Greeter = (function () {
function Greeter(message) {
this.greeting = message;
}
Greeter.prototype.greet = function () {
return "Hello, " + this.greeting;
};
return Greeter;
}());
在 EcmaScript5 中,我是否总是需要运行一个类似类的函数?还是因为protoype.greet 在初始匿名函数中?
【问题讨论】:
-
不,但最好封装原型对象以使其更易于阅读,并且如果需要,您可以拥有私有状态和助手。
-
没有。即使您摆弄构造函数的原型,也根本不需要使用 IIFE。