Hier wird der Typoskriptcode und das entsprechende JavaScript generiert. Warum entschied sich Microsoft dafür, this.greeting zu verwenden, statt eine Variable zu verwenden und die Variable davor zu verbergen, von außen auf den generierten JS-Code zuzugreifen? das Eigentum an private in Typoskript Wechsel wirft nur Kompilierungsfehler, aber der erzeugte Code js ist ditoprivate public in Typescript
//typescript code
class Greeter {
greeting: string; //why is this not private by default???
constructor(message: string) {
this.greeting = message;
}
greet() {
return "Hello, " + this.greeting;
}
}
let greeter = new Greeter("world");
console.log(greeter.greeting); //why the heck is 'greeting accessible'
//Generated javascript as follows
var Greeter = (function() {
function Greeter(message) {
this.greeting = message; //this should have been a var ????
}
Greeter.prototype.greet = function() {
return "Hello, " + this.greeting;
};
return Greeter;
}());
var greeter = new Greeter("world");
console.log(greeter.greeting); //why the heck is 'greeting accessible'