Her şeyden önce, typescript sadece destekler getve setECMAscript 5. hedef alan Bunu başarmak için zaman sözdizimi, sizinle derleyici aramak zorunda
tsc --target ES5
Arayüzler Alıcılar ve ayarlayıcılar desteklemez. derlemek için kodunuzu almak için bunu değiştirmek zorunda kalacak
interface I {
getName():string;
}
class C implements I {
getName():string {
return null;
}
}
Ne typescript destek kurucularınızdaki alanlar için özel bir sözdizimi yok. Senin durumunda, sahip olabilirdi
interface I {
getName():string;
}
class C implements I {
constructor(public name: string) {
}
getName():string {
return name;
}
}
Sınıf nasıl dikkat Calanını belirtmez name. Aslında sözdizimsel şeker kullanılarak bildirilir public name: stringyapıcısı içinde.
Sohnee işaret ettiği gibi, arayüz aslında herhangi uygulama ayrıntılarını gizlemek gerekiyordu. Benim örnekte, bir java tarzı alıcı yöntem gerektirir arayüzü tercih etti. Ancak, aynı zamanda bir özellik ve daha sonra sınıf arabirimini nasıl uygulanacağı karar sağlayabilirsiniz.