Dit is een zeer gekunsteld voorbeeld, maar laten we aannemen dat we een variabele _thisergens in een klasse-functie.
class Person {
constructor (public name : string) {}
changeName(name) {
var _this = {};
(() => {
this.name = name;
})();
}
}
Dit zal niet als werk verwacht wanneer noemen we de changeNamefunctie, omdat het desbetreffende deel van de gecompileerde code ziet er als volgt uit:
var _this = this;
var _this = {};
(function () {
_this.name = name;
})();
Dit is slecht Javascript: we hebben twee varverklaringen elkaar overschrijven. De _thisdoor de compiler wordt overschreven door mijn _this.
Voor zover ik kan zien, is dit gedrag niet in de typoscript spec.
Waarom zouden ze in strijd? Kan niet de compiler detecteren als ik een variabele met de naam hebt gemaakt _thisen anders de naam van de automatisch gegenereerde één iets, graag _this2mijn variabelen en de-compiler gegenereerde degenen van vertrappen elkaar te houden?













