0

我一直在玩 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;
};

(就像我一直做的那样)而不是?

4

0 回答 0