javascript - Finns det en motsvarighet till Spread-operatorn i TypeScript för användning med gränssnitt?
Jag arbetar på ett JavaScript-projekt och skulle vilja använda TypeScript också. I ett scenario skulle det vara trevligt om jag kunde minska mängden upprepning i detta gränssnitt:-
interface Question {
settings: {
label: string
description: string
hidden: boolean
followUp: {
label: string
description: string
hidden: boolean
}
}
}
Om det fanns någon slags spridningsoperator skulle det vara fantastiskt:
interface QuestionSettings {
label: string
description: string
hidden: boolean
}
interface Question {
settings: {
...QuestionSettings
followUp: QuestionSettings
}
}
Är detta möjligt i TypeScript?
Svar #1
Du kan använda intersection-typer:
interface QuestionSettings {
label: string;
description: string;
hidden: boolean;
}
interface Question {
settings: QuestionSettings & {
followUp: QuestionSettings;
}
}
