如何使用打字稿类型将对象中的数字字符串转换为数字

时间:2019-08-09 13:25:28

标签: typescript

这是问题所在。可以说我有以下对象:

const x = {
    number1: '1',
    number2: '2',
    string1: 'one',
}

以及以下打字稿类型。

class params {
    number1: number;
    number2: number;
    string1: string;
}

是否存在一种优雅的方法将x对象转换为params类型,以便从number1中的字符串强制转换属性number2xparams定义的数字?

1 个答案:

答案 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;
}