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',
}
