如何用TypeScript定义满足JSON兼容等要求的类?
TypeScript 定义符合要求的类问题
这是此前相关问题的跟进,需要用TypeScript定义满足以下要求的类:
- 兼容JSON,可被正常序列化
- 严格实现指定的接口
- 类的属性支持
for...in遍历
示例代码
type jsonValue = string | number | jsonValue[] | JsonObject | undefined; type JsonObject = { [index: string]: jsonValue; }; interface I_Foo extends JsonObject { p1: string; p2: number; }; class Foo implements I_Foo { public p1: string = ''; public p2: number = 1; } const foo = new Foo(); for (const key in foo) { console.log(foo[key]) }
问题说明
上述代码存在两处错误,目前无法确定修复方案。补充需求:希望定义的类恰好包含指定接口的属性,既支持for...in遍历,又能正常序列化为JSON。
内容的提问来源于stack exchange,提问作者dododingo
相关产品推荐
相关产品推荐

