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

是否存在强制类成员添加类型注解的@typescript-eslint等效规则?

强制TypeScript类成员添加类型注解的ESLint规则

你需要的是@typescript-eslint/typedef规则下的memberDeclaration配置项,开启它就能实现类成员(属性、方法参数/返回值等)必须加显式类型注解的强制要求,和你已经在用的variableDeclaration是同规则下的不同子选项。

配置示例

在你的ESLint配置文件(如.eslintrc.js)中,修改规则如下:

module.exports = {
  rules: {
    '@typescript-eslint/typedef': [
      'error',
      {
        variableDeclaration: true, // 你已启用的变量声明检查
        memberDeclaration: true,   // 新增:强制类成员加类型注解
        // 按需可选其他子规则:
        // propertyDeclaration: true, // 仅针对类属性单独强制
        // parameter: true, // 强制函数/方法参数加类型注解
      },
    ],
  },
};

生效范围

开启memberDeclaration后,以下场景会触发ESLint错误:

  • 类的实例属性缺失类型注解:比如class Demo { title; }(未标注title: string)
  • 类的静态属性缺失类型注解:比如class Demo { static total; }
  • 类方法的参数、返回值缺失类型注解(若未单独关闭相关子规则)

精准控制

如果只需要强制类属性加类型注解,不想约束方法的参数和返回值,可以单独开启propertyDeclaration选项,替换掉memberDeclaration,这样检查范围更精准。

内容的提问来源于stack exchange,提问作者Delectable Tea

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.22 12:00:56