首页 > 解决方案 > TS:如何从动态创建的对象中获取接口

问题描述

我有一个schema包含typed以空开头的属性的对象。

const schema = {
  typed: {},
  // ...
}

schema.typed将在应用程序启动时动态填充,例如

typed['name'] = 'Yung Silva'
typed['age'] = 22

在另一个时刻

typed['facebook'] = 'fb.com/yungsilva'
typed['whatsapp'] = 81981355509

没有模式,实际上每次启动应用程序时,它都会是一个完全不同的随机结构。

我想为这个对象获取一个动态组装的接口,例如

type Fields = typeof schema.typed

有可能的?

一开始就困扰着我,目前要动态创建对象,我不知道要定义什么类型schema.typed

标签: javascripttypescript

解决方案


这是不可能的,因为 Typescript 在编译时“检查”您的类型。

“TypeScript 的目标是通过类型系统帮助及早发现错误(在运行代码之前,在编译时),并使 JavaScript 开发更加高效。” 更多的

在运行时,运行的代码是普通的(排序)javascript 代码。有几个库 ( typescript-is) 可以帮助您在运行时检查类型,但常见的用例不需要它们。


推荐阅读