打字稿:如何从 javascript 对象创建类型

kaw*_*man 3 javascript typescript

我想从一个我不知道它是如何创建的 javascript 对象创建一个类型或一个带有打字稿的接口。

例如,我想创建一个请求类型以在我的函数中使用它,这样我就可以确保将正确的参数传递给函数:

let req = require("somewhere"); // my javascript object

function myfunction(request : Request) {
// some code
}

myfunction(req);// ok
myfunction(20);// Error

how can I create the Request type
Run Code Online (Sandbox Code Playgroud)

Paa*_*rth 9

您可以使用typeof关键字。

function myfunction(request : typeof req) {
// some code
}
Run Code Online (Sandbox Code Playgroud)

虽然要小心,如果reqany你将不会收到类型检查你想要的。


也就是说,如果您想访问express中定义的请求接口,我相信您可以按如下方式访问它

import express = require('express')
function myfunction(request : express.Request) {
// some code
}
Run Code Online (Sandbox Code Playgroud)