[英]Typescript interface as function return type
这里是 Typescript 的新手。 我有一个关于 Typescript 使用接口作为函数返回类型的问题。 我得到了这个界面
interface IPerson {
name: string,
age: number
}
如果我为其分配一个对象,它将检查类型并在类型不匹配时拒绝。 喜欢
const person: IPerson = { name: 'Tom', age: '26' };
但是如果我将它用作函数的返回类型,它似乎不会检查类型
const personJSON = '{ "name": "Jack", "age": "30"}';
const getPersonFromJSON = <IPerson>(json) : IPerson => {
return JSON.parse(json);
}
console.log(getPersonFromJSON(personJSON));
看起来返回值愿意接受 String 来老化。
{ name: 'Jack', age: '30' }
想知道我做错了什么。 非常感谢
const getPersonFromJSON = <IPerson>(json) : IPerson => {
return JSON.parse(json);
}
这与
const getPersonFromJSON = <T>(json) : T => {
return JSON.parse(json);
}
并定义了一个泛型函数。 如此有效的是<any>(json: any): any
你应该把它声明为
const getPersonFromJSON = (json) : IPerson => {
return JSON.parse(json);
}
反而。
参考:
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.