我的代码可以进行正则匹配,并具有一些可选的捕获组。代码看起来像这样:

问题描述 投票:0回答:1
存在,我会遇到执行错误,因为它可能不存在。

为什么

@typscript-eslint
抱怨这张支票?有什么方法可以重写代码,以便我在不使不满意的情况下进行必要的检查?

由于打字稿对您撒谎。 🙂

用l用的覆盖物直接从打字稿中吸收类型以做出决策。如果定义了Typescript认为

@typescript-eslint
是定义的,那么绒毛规则也将。
Typescript的类型检查器默认情况下,所有数组索引都提供了来自数组的元素。 
@typescript-eslint/no-unnecessary-condition

typescript eslint typescript-eslint
1个回答
0
投票

match[0]

都将键入

match[4],而不是

match[9001]
。这是为了便利:在大多数情况下,开发人员更喜欢假设存在数组元素。 选择加入,违约
string

打字稿编译器选项开关打字稿的类型Checker更加严格。它更改数组索引访问以键入为值

string | undefined
(除非类型缩小)。从技术上讲,这是更典型的安全性,但实际上可能非常烦人。有关为什么默认情况下未启用
noUncheckedIndexedAccess
的信息,请参见
https://github.com/microsoft/typescript/pull/39560
如果不想启用

undefined

,也确实希望避免使用该inline config注释来禁用ESLINT规则,则可以使用noUncheckedIndexedAccess

。但这是配置评论是正确策略的罕见但没有的案例之一。
    
最新问题
© www.soinside.com 2019 - 2025. All rights reserved.