当前位置: 首页 > 知识库问答 >
问题:

在运行时根据TypeScript中的接口验证“任何”对象[重复]

胡劲
2023-03-14

共有1个答案

谷梁星雨
2023-03-14

目前,TypeScript接口纯粹是编译时实体,因此无法进行任何类型的运行时验证,更不用说知道编译时存在哪些接口了。因此,答案似乎是:

  1. 编写一些工具,将TypeScript接口转换为可用于验证对象的运行时对象表示形式,或者:
  2. 将TypeScript接口复制为某些运行时对象表示形式

您可以使用JSON-schema作为运行时表示,因为GitHub上存在许多验证器。TypeScript接口-->JSON模式转换器是我希望有人在某个时候制造的东西,但据我所知,目前还不存在。

 类似资料:
  • 问题内容: 我在运行时加载JSON配置文件,并使用接口定义其预期结构: 由于可以使用自动填充等功能,因此可以方便地访问各种属性。 问题: 有没有一种方法可以使用此声明来检查我加载的文件的正确性? 即我没有意外的属性? 问题答案: 没有。 当前,类型仅在开发和编译期间使用。类型信息不会以任何方式转换为已编译的JavaScript代码。

  • 问题:有没有一种方法可以使用这个声明来检查我加载的文件的正确性?我没有意外的财产?

  • 我试图找到一种方法来传递一个对象来发挥作用,并在运行库中检查它的类型。这是一个伪代码: 但是总是返回,我无法找到获取或的真正类型的方法。也不起作用,返回了相同的内容。

  • 问题内容: 在React中,Component定义看起来像这样: 然后定义一个这样的组件: 现在我遇到的问题是,在React API 中应该使用 局部 状态对象来调用,该对象表示要更新的属性,如下所示: 请注意,未声明。我的问题是TypeScript不允许这样做,它给出了类似的赋值错误。据我了解,从这个意义上讲,定义是错误的。但是有解决方案吗? 我尝试了这个: 但这会产生相同的错误,即使它在Pla

  • 我想定义一个带有对象和不同类型的接口,例如 在定义上,没有问题,但在调用like后 这不起作用,并出现以下错误 错误错误:未捕获(promise中):TypeError:无法设置未定义的属性“名称”TypeError:无法设置未定义的属性“名称” 有一些相似的主题,但它们并不完全相关。(如何在类型脚本接口中定义对象或者如何在类型脚本中定义对象变量的类型?) 我很感激你帮助我找到解决办法。