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

是否有ESLint规则可检测空列表索引访问并给出提示?

检测空数组索引访问的ESLint解决方案
  • 先开启TypeScript编译配置里的strictNullChecks和noUncheckedIndexedAccess选项,这会让TypeScript原生识别出list[0]在数组可能为空时的潜在问题,将返回值类型标记为T | undefined。

  • 搭配ESLint的@typescript-eslint/no-unnecessary-condition规则,可自定义提示信息。在ESLint配置中添加:

    {
      "rules": {
        "@typescript-eslint/no-unnecessary-condition": [
          "error",
          {
            "checkArrayPredicates": true,
            "message": "List might be 0 items"
          }
        ]
      }
    }
    

    这个规则会在未先检查数组长度就直接访问索引时触发警告,显示你指定的提示文本。

  • 如果需要更精准的空数组访问检测,可使用eslint-plugin-sonarjs中的no-empty-collection-access规则,同样支持自定义提示信息:

    {
      "plugins": ["sonarjs"],
      "rules": {
        "sonarjs/no-empty-collection-access": [
          "error",
          {
            "message": "List might be 0 items"
          }
        ]
      }
    }
    

注意:所有规则生效的前提是代码中数组的类型被正确标注,TypeScript能识别出它可能为空(比如类型为T[] | []或T[] | undefined)。

内容的提问来源于stack exchange,提问作者Alex Totolici

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.01 05:00:32