如何在分配新变量名和设置类型时使用解构赋值?这方面的一个例子是:
const {
Script: script, // string
EstimatedDuration: estimated_duration, // number
ActualDuration: actual_duration, // number
} = response.data[0];
我的第一直觉是将<string>
或as string
添加到RHS,但这不起作用。尝试其他变体也失败了。
这是可能的,或者我对这些变量的类型检查是SOL吗?我想使用解构而不是const script: string = response.data[0].Script
和类似的。
答案 0 :(得分:1)
如果您愿意将所有内容输入两次,则可以这样做。
// 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);
此时虽然您只是编写实际的类型声明,但您也可以将该类型设置在某个地方interface
以下,以便于访问。