typescript - VSCode/TypeScript 中是否有“使用显式类型重构”?
问题描述
有没有办法可以将推断类型的完整路径复制到剪贴板?
例子:
class App { listen(){ const server = expressApp.listen()}}
我想成为server
会员而不是本地人,但我不知道类型。是否有 1 点击获取类型?
解决方案
编辑:
要获取函数返回的类型,您可以使用ReturnType
类型构造函数。将它与使用括号表示法的类型索引结合起来,您可以找到接口成员的返回类型,如下所示:
type Server = ReturnType<Express['listen']>;
Node 标准模块http
公开了一种名为Server
. 由于 Express 使用此类型作为其服务器侦听器,因此您可以使用它在您的成员上键入侦听器,如下所示:
import type { Express } from "express";
import type { Server } from "http";
class App {
constructor(app: Express) {
this.listener = app.listen();
}
private listener: Server;
}
如果您想像在上面的代码片段中那样使用listen()
带有未初始化server
变量的自定义函数,您只需将该属性设为可选:
class App {
private server?: Server;
listen(expressApp: Express) {
this.server = expressApp.listen()
}
}
推荐阅读
- php - 如何在 Laravel 8 中使用表单生成器
- python - 嗨,我有一个 django 应用程序的问题。我想为具有此 url 的用户制作个性化页面:url/user/id。但是有些东西不起作用
- sql - 计算有多少汽车/车主拥有
- kubernetes - az aks update-credentials - 如何忽略未找到资源错误
- php - PHP file_get_contents 的问题
- javascript - 为什么`
` 当我使用 this.state.reachedBottom 时消失? - reactjs - 如何覆盖样式组件中的 React Slick 类?
- python - 不被识别为内部或外部命令、可运行程序或批处理文件
- javascript - 我如何自动填充 angularjs 输入
- sorting - Unity - 对来自同一预制件的对象进行排序层