SonarLint:删除不必要的布尔文字

Posted

技术标签:

【中文标题】SonarLint:删除不必要的布尔文字【英文标题】:SonarLint: Remove the unneccessary boolean literal 【发布时间】:2022-01-12 17:27:57 【问题描述】:

我正在使用以下代码从数组中选择一条记录,该记录是最旧的未删除记录。

const firstRec = records.filter(rec => rec.isDeleted != false)
  .reduce((a, b) => new Date(a.Created) < new Date(b.Created) ? a : b);

SonarLint 在行上给我一个“删除不必要的布尔文字”错误:

 rec.isDeleted != false

而且我不知道如何摆脱错误。 SonarLint 的新手,这似乎是合法的。

【问题讨论】:

试试records.filter(rec =&gt; !rec.isDeleted)。也许只是说writing a !== false!a是一样的 是的,只是完全隔开那个。谢谢! 【参考方案1】:

如果rec.isDeletedboolean 类型,则不必将其等同于truefalse(其隐含):

if(rec.isDeleted != false)

相反,这样做:

if(rec.isDelete)

【讨论】:

以上是关于SonarLint:删除不必要的布尔文字的主要内容,如果未能解决你的问题,请参考以下文章

SonarLint 在这里使用原始的布尔表达式

错误在条件表达式中不必要地使用布尔文字 no-unneeded-ternary

Java中的正则表达式-删除不必要的空格[重复]

Sonarlint 哨兵值假阳性

liquibase 迁移失败,而 dropColumn 布尔变量

deepfacelab切脸哪些需要删除