我是打字稿新手,正在做一个项目。 我正在尝试构建一个 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
因为这些数据根本没有得到验证。 我搜索了很多,但找不到任何解决方案。
答案 0 :(得分:0)
TypeScript 被编译成 JavaScript 文件,JavaScript 没有任何名为 requestObj
的类型。所有对象都具有 object
类型。在 TypeScript 中,所有类型仅在编译之前存在。如果你想在 TypeScript 中检查类型,你应该使用 conditional types 因为使用 javascript 的 'typeof' 对你没有帮助。