Возможно ли создать частную "функцию" (метод) в классе 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
открытой при компиляции?