You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

请问哪条ESLint规则强制Interface属性必须指定类型?

如何用ESLint强制TypeScript接口属性必须指定类型?

你定义的以下TypeScript接口中,属性和方法未指定类型却未触发报错:

export interface ITest {
  name;
  age;
  contacting ();
}

存在对应的ESLint规则可以强制要求为接口的每个属性和方法指定类型,主要有两个常用规则:

  • @typescript-eslint/no-implicit-any:这个规则会禁止所有隐式推断为any类型的情况。当接口属性未指定类型时,TypeScript会默认将其推断为any,启用该规则后这种写法会直接触发报错。
  • @typescript-eslint/typedef:这个规则可以更精细化地配置强制类型声明的场景,通过配置propertyDeclaration: true,就能专门针对接口的属性和方法要求必须显式指定类型。

在ESLint配置文件(比如.eslintrc.js)中,你可以这样启用这些规则:

module.exports = {
  parser: '@typescript-eslint/parser',
  plugins: ['@typescript-eslint'],
  rules: {
    // 禁止隐式any类型
    '@typescript-eslint/no-implicit-any': 'error',
    // 强制接口属性显式声明类型
    '@typescript-eslint/typedef': [
      'error',
      {
        propertyDeclaration: true
      }
    ]
  }
};

需要注意的是,这两个规则都依赖于@typescript-eslint/eslint-plugin插件,你需要确保已经安装了该插件以及对应的@typescript-eslint/parser解析器。

内容的提问来源于stack exchange,提问作者Robin Chugh

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.16 00:41:09