なぜTypeScriptはプライベート変数をカプセル化しませんか?TypeScriptがプライベートフィールドをカプセル化しないのはなぜですか?
var Car = (function() {
function Car(engine) {
this.engine = engine;
}
Car.prototype.start = function() {
console.log('Starting engine ' + this.engine);
};
return Car;
}());
var car = new Car("Fiat");
car.start();
engine
変数が公開されている:私は、次のJavaScriptを取得するコンパイルすると
private engine: string;
constructor(engine: string) {
this.engine = engine;
}
start() {
console.log('Starting engine ' + this.engine);
}
}
var car = new Car("Fiat");
car.start();
:
には、以下の活字体を考えます。なぜTypeScriptは次のようなものを作りません:
var Car = (function() {
var _engine;
function Car(engine) {
_engine = engine;
}
Car.prototype.start = function() {
console.log('Starting engine ' + _engine);
};
return Car;
}());