TypeScript クラス内にプライベートな「関数」(メソッド) を作成することは可能ですか? 次のPerson.ts
TypeScript ファイルがあるとします。
class Person {
constructor(public firstName: string, public lastName: string) {
}
public shout(phrase: string) {
alert(phrase);
}
private whisper(phrase: string) {
console.log(phrase);
}
}
コンパイルすると、次のように変換されます。
var Person = (function () {
function Person(firstName, lastName) {
this.firstName = firstName;
this.lastName = lastName;
}
Person.prototype.shout = function (phrase) {
alert(phrase);
};
Person.prototype.whisper = function (phrase) {
console.log(phrase);
};
return Person;
})();
観察
whisper
関数がクロージャー内で宣言されることを期待していましたが、プロトタイプでは宣言されていませんか? 基本的に、これはwhisper
コンパイル時に関数を公開しますか?