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

时间:2018-02-18 05:33:46

标签: javascript eslint

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

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

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

这两行都触发了一个意外警告:

  

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

有没有更好的方法来编写此代码?

我正在使用eslint 2.0(Visual Studio中内置的那个)。

1 个答案:

答案 0 :(得分:1)

是的,你可以直接写:

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

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