Hvordan kan jeg referere til typen til elementer i en array i TypeScript?


Man kan referere til typene av grensesnittegenskaper i TypeScript med følgende syntaks: Person['gender'], så følgende er gyldig TypeScript:

interface Person {
  gender: 'male' | 'female';
  addresses: {
    city: string,
    street: string
  }[];
}

let person: Person = {
  gender: 'male',
  addresses: [],
};

let gender: Person['gender'] = person.gender;

Er det mulig å på en eller annen måte få typen til array-elementet til Person['addresses'] på samme måte?

Ansvarsfraskrivelse: Jeg forstår at i dette leketeksteksemplet kan det lett utledes. Jeg forstår også at hele problemet kunne vært unngått ved å opprette et Address-grensesnitt, men noen ganger er det mindre omstendelig totalt sett og lettere å følge hvis man refererer til noen typer på denne måten.

Svar #1

Følgende er gyldig TypeScript, selv om det ser litt rart ut:

let address: Person['addresses'][0] = {
  city: 'Budapest',
  street: 'Kossuth',
}

Relaterte artikler