Ich lese über die neue JavaScript-ähnliche Sprache von Microsoft genannt Typoskript . Im Spielplatz (Beispiel Abschnitt) , ist es eine einfache Klasse in Typoskript Syntax JavaScript - Code umgewandelt. Ich stamme aus einer Java - Programmierung Hintergrund, es war interessant für mich zu lernen , wie OOP in JavaScript erfolgt mit Wirkung vom Typoskript zusammengestellt.
Typoskript Code:
class Greeter {
greeting: string;
constructor (message: string) {
this.greeting = message;
}
greet() {
return Hello, + this.greeting;
}
}
var greeter = new Greeter(world);
var button = document.createElement('button')
button.innerText = Say Hello
button.onclick = function() {
alert(greeter.greet())
}
document.body.appendChild(button)
Und das Äquivalent JavaScript-Code:
var Greeter = (function () {
function Greeter(message) {
this.greeting = message;
}
Greeter.prototype.greet = function () {
return Hello, + this.greeting;
};
return Greeter;
})();
var greeter = new Greeter(world);
var button = document.createElement('button');
button.innerText = Say Hello;
button.onclick = function () {
alert(greeter.greet());
};
document.body.appendChild(button);
Das Typoskript Teil ist sehr ähnlich wie Java , damit ich das verstehen. Nun meine Frage , warum in JavaScript , um den Körper der GreeterKlasse in einem anonymen eingebettet ist , zu function()nennen?
Warum schreiben Sie es nicht so?
function Greeter(message) {
this.greeting = message;
}
Greeter.prototype.greet = function () {
return Hello, + this.greeting;
};
Was ist der Vorteil / Nachteil jeder Methode?













