Aradım Microsoft'tan yeni JavaScript benzeri dil hakkında okuyordu typescript . Olarak oyun (örnek bölümü) , JavaScript koduna dönüştürülen typescript sözdiziminde basit bir sınıfı bulunmaktadır. Beni yazılardan derlenmiş nesne yönelimli programlama JavaScript nasıl yapıldığını öğrenmek için bir Java programlama arka plandan geliyor, bu ilginçti.
Typescript kodu:
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)
Ve eşdeğer JavaScript kodu:
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);
Anlıyorum böylece typescript parçası Java çok benzer. JavaScript vücut Şimdi neden benim sorum Greetersınıfın anonim bir gömülü olduğu function()çağrı?
Neden bu gibi yazmak?
function Greeter(message) {
this.greeting = message;
}
Greeter.prototype.greet = function () {
return Hello, + this.greeting;
};
Her bir yöntemin avantajı / dezavantajı nedir?













