将对象转换为接口object typescipt



我是typescript的新手,正在从事一个项目。我正在尝试构建一个rest API,并且我有一个用于请求负载的模型。

但在类型转换之后,reObj的类型仍然是对象,我希望它是requestObj类型的

export const funcName = async function (req: Express.Request, res: Express.Response) {
console.log(typeof req.body)  // object
const resObj : requestObj  =  req.body as requestObj 
console.log(typeof resObj)  // object.     but it should be requestObj
export interface requestObj {
to:  string ,
name: string,
phoneNo : string, 
}

正因为如此,数据根本没有得到验证。我找了很多,但找不到任何灵魂。

TypeScript被编译到JavaScript文件中,JavaScript没有任何名为requestObj的类型。所有对象都具有类型object。并且在TypeScript中,所有类型都只在编译之前存在。如果你想在TypeScript中检查类型,你应该使用条件类型,因为使用javascript的"typeof"对你没有帮助。

最新更新