如何在赋值给新的变量名并设置类型时使用解构赋值?下面是一个这样的例子:
const {
Script: script, // string
EstimatedDuration: estimated_duration, // number
ActualDuration: actual_duration, // number
} = response.data[0];
我的第一反应是将<string>
或as string
添加到RHS中,但这并不起作用。尝试其他变体也失败了。
这是可能的吗,还是我在这些变量的类型检查方面是解决问题的?我想使用解构,而不是const script: string = response.data[0].Script
和类似的。
发布于 2018-05-31 08:29:44
如果你愿意把所有东西都键入两次,你就可以做到。
// 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
下面,以便于访问。
https://stackoverflow.com/questions/50612687
复制相似问题