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 => !rec.isDeleted)
。也许只是说writing a !== false
和!a
是一样的
是的,只是完全隔开那个。谢谢!
【参考方案1】:
如果rec.isDeleted
是boolean
类型,则不必将其等同于true
或false
(其隐含):
if(rec.isDeleted != false)
相反,这样做:
if(rec.isDelete)
【讨论】:
以上是关于SonarLint:删除不必要的布尔文字的主要内容,如果未能解决你的问题,请参考以下文章
错误在条件表达式中不必要地使用布尔文字 no-unneeded-ternary