验证打字稿模型的构建

时间:2019-07-24 16:59:11

标签: javascript typescript

所以我有一个人物模型

export class Person {

    name: string;
    id: Number;
}

我想确保只有名称和ID是要定义的字段

所以当我像下面那样构造对象(方法1)

let person = new Person({name: 'john', id:2, invalidField: 'notAllowed'})

打字稿在上面不允许这样做

但是,如果我从后端获取数据,它将允许它构造如下对象(方法2)

  let data: any = {name: 'john', id:2, invalidField: 'notAllowed'}// resp from backend
  let person = new Person(data)

Typescript允许上述操作

是否有办法确保通过方法二构造对象无效?

我想要执行此操作的原因是,我可以创建单元测试以确保来自后端的数据符合我期望的格式

不知道这是否清楚我对打字稿还不是很陌生 如有任何疑问,请添加评论

也许在构造函数中进行一些运行时检查?

0 个答案:

没有答案
相关问题