Typescript 在收到来自服务器的对自定义类型变量的响应时不会确认错误



>我创建了一个类,并通过输入http请求的响应来实例化它。在此类中工作时,我定义变量应该是字符串,但是在 http request 中,这个变量是一个数字,即使如此,我的终端和浏览器控制台都不会指责错误。

班级人员:

export class Person {
id: number;
name: string;
age: number;
constructor(private data: any) {
this.id = data.id;
this.name = data.name;
this.age = data.age;
}
}

响应:

{
"id": 0,
"name": "Ricky",
"age": "10"
}

Instace

man = new Person(res);

Typescript 不执行runtime检查,因为它只是 Javascript 的一个超集,这意味着它会compiled到 Javascript,然后代码被浏览器使用。Javascript 没有类型,因此当应用程序由浏览器编译时(在运行时(不存在类型检查。

要检查元素是否是特定类型,您需要typeof构造。这里有一个很好的来源:MSDN上的typeof。

简而言之,您可以执行以下操作:

if(typeof res.age !== "number") {
return alert('Age is not of type Number')
} 

最新更新