typescript - Tilordne type til destrukturert variabel som også er omdøpt
Hvordan kan jeg bruke destruktureringsoppdrag mens jeg tildeler til et nytt variabelnavn og setter en type? Et eksempel på dette er her:
const {
Script: script, // string
EstimatedDuration: estimated_duration, // number
ActualDuration: actual_duration, // number
} = response.data[0];
Min første instinkt var å legge til <string> eller as string på høyre side, noe som ikke fungerte. Å prøve andre variasjoner mislyktes også.
Er dette noe som er mulig, eller er jeg ute av lykken når det gjelder typetesting på disse variablene? Jeg vil gjerne bruke destrukturering og ikke const script: string=response.data[0].Script og lignende.
Svar #1
Du kan gjøre det hvis du er villig til å skrive alt to ganger.
// replace with your response object above
declare const responseObject: {
Script: any,
EstimatedDuration: any,
ActualDuration: any,
};
const {
Script: script,
EstimatedDuration: estimated_duration,
ActualDuration: actual_duration,
}: {
Script: string,
EstimatedDuration: number,
ActualDuration: number
} = responseObject;
console.log(script, estimated_duration, actual_duration);
Da skriver du imidlertid bare selve typdeklarasjonen, så du kan også lage den typen nedenfor som et interface et sted for enkel tilgang.
