Bu çok yapmacık örnektir, ancak biz, değişken oluşturmak varsayalım _thisbir sınıf işlevinde bir yerlerde.
class Person {
constructor (public name : string) {}
changeName(name) {
var _this = {};
(() => {
this.name = name;
})();
}
}
Dediğimiz bu kadar beklenen çalışmayacak changeNamederlenmiş kod ilgili kısmı aşağıdaki gibidir çünkü işlevi:
var _this = this;
var _this = {};
(function () {
_this.name = name;
})();
Bu kötü JavaScript: biz iki sahip varbirbirlerinin üzerine yazılmasını bildirimleri. _thisDerleyici tarafından oluşturulan benim yazılır ediliyor _this.
Bildiğim kadarıyla gördüğünüz gibi, bu davranış typescript spec belirtilmedi.
Neden çelişebilir gerekir? Derleyici Ben adında bir değişken oluşturduk eğer algılayamaz _thisve başka otomatik olarak oluşturulan bir bir isim, ister _this2birbirini ayaklar altına benim değişkenleri ve derleyici tarafından oluşturulan olanları tutmak için?













