将对象转换为接口对象类型cipt

时间:2021-05-01 12:38:06

标签: node.js typescript rest express backend

我是打字稿新手,正在做一个项目。 我正在尝试构建一个 rest API,并且我的请求负载有一个模型。

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

  template <class U>
      requires std::convertible_to<U, typename T::value_type>
  void bar() 
  {
  }
 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

因为这些数据根本没有得到验证。 我搜索了很多,但找不到任何解决方案。

1 个答案:

答案 0 :(得分:0)

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