Ich empfehle normalerweise nicht diesen Ansatz (achten Sie auf Leistungsprobleme), aber Sie können den Spread-Operator verwenden, um ein Objekt oberflächlich zu klonen, auf das Sie dann zugreifen können.
const person = { personId: 123, firstName: 'Simon' };
const firstName = { ...person }.firstName;
Dies funktioniert, weil der Typ 'firstName' 'propagiert' wird.
Ich werde dies am häufigsten verwenden, wenn ich einen find(...)
Ausdruck habe, der null zurückgeben kann und ich ein einzelnes Attribut davon benötige:
// dies würde einen Fehler verursachen (diese ID existiert nicht)
const people = [person];
const firstName2 = people.find(p => p.personId == 999).firstName;
// dies funktioniert - kopiert jedoch alle Eigenschaften, was Leistungsprobleme hervorruft
const firstName3 = { ...people.find(p => p.personId == 999) }.firstName;
Es kann einige Grenzfälle mit der Art und Weise geben, wie TypeScript Typen ableitet und das nicht kompiliert wird, aber das sollte normalerweise funktionieren.