0
我有一些基于数据结构生成类的JavaScript代码,其方法的名称和签名取决于数据结构的内容。是否可以在TypeScript中表示这种关系?否则,是否有可能至少表明输出类具有一些特定的(但在编译时未知的)方法集合,以及一组可能的方法签名?是否可以表示在TypeScript中运行时定义其原型的类?
在我的特殊情况下,输入数据可能是这个样子:
{
'methodName1': {
'flag1': true,
'flag2': false
},
'methodName2': {
'flag1': false,
'flag2': false
}
}
,并有方法methodName1
和methodName2
结果类,每个方法的4个预定义的方法签名一个基于签名在标志的值上。
由于打字稿在编译时真的只存在,这是有道理的,它不能帮助你在运行时键入信息。 如果数据结构当然是不变的,你可以根据它来创建一个类型。如果它只能在运行时访问,我不确定你可以做什么比仅仅键入动态对象作为键值对更好。 你有没有你要写的代码的例子? – y2bd
使用抽象接口而不是特定类可能对您更好 – Bergi
您是否想在运行时或编译时生成这些类?请澄清。在编译时检查类型安全性。运行时间在编译时间之后。因此,你不能在编译时在运行时定义一个接口。考虑这是一个[X/Y问题](http://meta.stackexchange.com/questions/66377/what-is-the-xy-problem):也许你的问题不需要类型安全/编译时检查(你认为你必须生成类,而实际上不需要)。 –