typescript - 如何使用打字稿类型将对象中的数字字符串转换为数字
问题描述
这就是问题所在。可以说我有以下对象:
const x = {
number1: '1',
number2: '2',
string1: 'one',
}
以及以下打字稿类型。
class params {
number1: number;
number2: number;
string1: string;
}
是否有一种优雅的方法可以将x
对象转换为params
类型,以便将属性number1
和number2
从字符串x
转换为定义的数字params
?
解决方案
恐怕您将不得不手动转换它,就像在 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;
}
推荐阅读
- php - PHP - 可以在所需脚本中获取所需脚本的魔术常量 __FILE__ 吗?
- python - 在不同的数据帧上应用函数
- micronaut - 在 Micronaut http 方法(@Get、@Post、..)中将自定义对象绑定为参数
- c# - WPF C#嵌套列表中的数据
- c# - C# 将 JSON 文件反序列化为数组
- python - 如何读取 json 元数据文件的前 100 行并将它们写入较小的 json 文件?[Python]
- reactjs - componentDidUpdate() 在数据获取时多次渲染
- mapbox - 标记 MGLPolyLines
- angular - Angular 8 - 使用 CookieService 清除 cookie
- css - 使用 CSS 在标题后面创建具有弱相同文本的标题文本