ES/TS Linting 规则来检查我是否没有 iffing 数组而不是 array.length >= 1?

问题描述 投票:0回答:1

我注意到一个常见的错误,我有一组不同的 if,其中一些是字符串或布尔值,但其中一些是数组。

但有时我忘记它总是会被定义,我必须实际检查:

if (array.length >= 1)
而不是
if (array)

是否有 TS/ES linting 规则来检查我是否正在验证某些始终返回 true 的内容? (或者特别是当我如果一个已经定义的数组时,linter 应该知道它总是返回 true)

我发现了这个:https://eslint.org/docs/latest/rules/no-constant-condition但这不会警告我:

const array = []
if (array) console.log(array) // Wil always run
eslint tslint typescript-eslint
1个回答
0
投票

@typescript-eslint/no-unnecessary-condition
就是您要找的。它“不允许类型始终为真或始终为假的条件”。

您需要设置 typescript-eslint:它的 入门 和它的 Linting with Typed Linting

© www.soinside.com 2019 - 2024. All rights reserved.