这是问题所在。可以说我有以下对象:
const x = {
number1: '1',
number2: '2',
string1: 'one',
}
以及以下打字稿类型。
class params {
number1: number;
number2: number;
string1: string;
}
是否存在一种优雅的方法将x
对象转换为params
类型,以便从number1
中的字符串强制转换属性number2
和x
到params
定义的数字?
答案 0 :(得分:0)
恐怕您将不得不像使用JavaScript一样手动进行转换。您需要设置变量或Params
类型的属性,以确保进行类型检查。
const y: Params = {
number1: Number(x.number1),
number2: Number(x.number2),
string1: x.string1,
}
此外,如果params
仅用于类型检查,则建议您使用interface
,而不要使用class
。这是因为TypeScript类在运行时存在,而接口仅在编译时。
interface Params {
number1: number;
number2: number;
string1: string;
}