Unterstützt TypeScript den ?.-Operator und wie heißt er korrekt?
Hallo zusammen! Ich habe kürzlich angefangen, TypeScript zu lernen und bin auf ein Problem gestoßen. Oft muss ich im Code auf eine Eigenschaft eines Objekts zugreifen, die möglicherweise nicht existiert. Zum Beispiel habe ich ein Objekt `user`, das vom Server kommt, und es kann ein verschachteltes Feld `profile.name` haben. Wenn ich `user.profile.name` schreibe, gibt TypeScript einen Fehler aus, dass `profile` möglicherweise `undefined` ist. Ich weiß, dass es in JavaScript den Operator `?.` gibt, der einen sicheren Zugriff auf Eigenschaften ermöglicht. Aber ich bin mir nicht sicher, ob TypeScript ihn unterstützt und wie er korrekt heißt. Ich habe versucht, so zu schreiben:
```typescript
interface User {
profile?: {
name?: string;
};
}
const user: User = {};
console.log(user.profile.name); // Fehler: Object is possibly 'undefined'
```
Wenn ich `?.` hinzufüge, verschwindet der Fehler:
```typescript
console.log(user?.profile?.name);
```
Aber ich verstehe nicht, ob das eine TypeScript-Funktion oder einfach JavaScript ist? Und wie heißt dieser Operator korrekt — "optional chaining", "Fragezeichen"?