typescript - VS Code 提示错误 TS7013 但 Typescript 不是

标签 typescript visual-studio-code interface compiler-errors new-operator

我的 Typescript/Angular 项目中有以下界面

export interface MyInterface {
  new (helper: MyInterfaceHelpers);
}

当我编译项目时,Typescript 编译器完全没有错误。
然而 VSCode 用波浪线强调它并显示一个错误说:
Construct signature, which lacks return-type annotation, implicitly has an 'any' return type.ts(7013)

为什么 VS Code 会提示而 Typescript 不会?错误检查的这种分歧发生在哪里?最后,如何让 VS Code 停止提示?

最佳答案

当您有 noImplicitAny: true 时,VScode 会提示在您的 tsconfig.json 文件中配置。也因为这是 strict: true 的默认设置。 .因此,如果要关闭它,则需要将其显式覆盖为 noImplicitAny: false .

详细说明可以查看official docs

但是,消除此错误的更好方法是显式添加返回类型,理想情况下是强定义类型,甚至只是 any ,使其比隐式变化更好。

export interface MyInterface {
  new (helper: MyInterfaceHelpers): any;
}

关于typescript - VS Code 提示错误 TS7013 但 Typescript 不是,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62247521/

相关文章:

隐式类型转换的 TypeScript 错误

reactjs - “redirect_uri”对于 Microsoft 登录 MSAL 身份验证 Azure 无效

java - 用新检查的异常覆盖 Java 接口(interface)

java - Java中接口(interface)和抽象类的混淆与示例

javascript - IndexedDB:未捕获( promise )DOMException

reactjs - 如何使用 webpack 和 Babel 将 TypeScript/Less 文件编译成 JavaScript/CSS?

php - VS代码: php-debug setup

c++ - 程序 'main.exe'无法运行: The specified executable is not a valid application for this OS platform

c# - Linux 上的 Visual Studio Code - 如何在 "app.js does not exist"时运行 C# 应用程序,也不应该

java - 如何将接口(interface)变量分配给子接口(interface)变量?