Fehler: „this“ hat implizit den Typ „any“, da in TypeScript keine Typannotation vorhanden ist
Hallo! Ich habe angefangen, TypeScript zu lernen, und bin auf einen Fehler gestoßen, den ich nicht beheben kann. Ich habe eine einfache Klasse, die eine Aufgabenliste verwaltet:
```typescript
class TaskList {
tasks: string[] = [];
addTask(task: string) {
this.tasks.push(task);
console.log(`Added: ${task}`);
}
printTasks() {
this.tasks.forEach(function(task) {
console.log(`${task} - added by ${this.name}`);
});
}
}
const myList = new TaskList();
myList.addTask("Learn TypeScript");
myList.printTasks();
```
Wenn ich diesen Code kompiliere, erhalte ich den Fehler:
```
'this' implicitly has type 'any' because it does not have a type annotation
```
Der Fehler zeigt auf die Zeile `console.log(`${task} - added by ${this.name}`);` innerhalb der `forEach`-Methode. Ich verstehe, dass `this` innerhalb der callback-Funktion den Kontext der Klasse verliert, weiß aber nicht, wie ich das richtig beheben kann. Ich habe versucht, eine Arrow-Funktion zu verwenden, aber dann erscheint ein anderer Fehler – `this.name` existiert nicht in