【问题标题】:Eslint: Unnecessary use of boolean literals in conditional expressionEslint:在条件表达式中不必要地使用布尔文字
【发布时间】:2018-07-28 15:54:22
【问题描述】:

我有一个来自 Web API 请求的字符串变量。该变量可能包含字符串"true"或字符串"false",或者为空。

'true' != true以来,我将此值从字符串转换为真正的布尔值:

[
  request.body.truncateEntities === 'true' ? true : false,
  request.body.truncateDomains === 'true' ? true : false,
]

这两行都会触发 eslint 警告:

在条件表达式中不必要地使用布尔文字。

真的有更好的方法来编写这段代码吗?

我使用的是 eslint 2.0(Visual Studio 内置的那个)。

【问题讨论】:

    标签: javascript eslint


    【解决方案1】:

    是的,你可以直接写:

    [
      request.body.truncateEntities === 'true',
      request.body.truncateDomains === 'true',
    ]
    

    因为比较表达式(如request.body.truncateEntities === 'true')无论如何都会计算为布尔值,所以不需要三元条件表达式。

    【讨论】:

    • 发生在我们最好的人身上:)
    猜你喜欢
    • 2018-09-14
    • 2018-10-02
    • 2020-12-15
    • 2017-07-31
    • 2020-08-19
    • 2012-06-19
    • 2021-07-17
    • 2012-03-25
    • 2017-08-25
    相关资源
    最近更新 更多