I Typescript, hur man får åtkomst till medlemmar utanför en "anonym" klass
Jag skapade en "anonym" klass baserad på detta: Typescript anonym klass
Men jag vet inte hur man får åtkomst till medlemmarna i det yttre omfånget. Här är ett exempel på kod:
class BaseCounter {
counter = 1;
count() {
console.log(++this.counter);
}
getDoubleCounter() {
return new class DoubleCounter extends BaseCounter {
count() {
// In Java, we can access the outer scope counter by ClassName.this like this
// BaseCounter.this.counter += 2
// console.log(BaseCounter.this.counter);
}
}();
}
Svar #1
Faktiskt kan jag tilldela detta föräldra till en variabel så här
class BaseCounter {
counter = 1;
count() {
console.log(++this.counter);
}
getDoubleCounter() {
const parentThis = this;
return new class DoubleCounter extends BaseCounter {
count() {
parentThis.counter += 2
console.log(parentThis.counter);
}
}();
}
