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

Javascript Eslint:在条件表达式中不必要地使用布尔文本,javascript,eslint,Javascript,Eslint,我有一个来自Web API请求的字符串变量。变量可能包含字符串“true”或字符串“false”,或者为空 我将该值从字符串转换为实数布尔值,因为'true'!=正确: [ request.body.truncateEntities === 'true' ? true : false, request.body.truncateDomains === 'true' ? true : false, ] 这两条线都会触发eslint警告: 在条件表达式中不必要地使用布尔文字 真的有更好的方

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

我将该值从字符串转换为实数布尔值,因为
'true'!=正确

[
  request.body.truncateEntities === 'true' ? true : false,
  request.body.truncateDomains === 'true' ? true : false,
]
这两条线都会触发eslint警告:

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

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


我正在使用eslint 2.0(内置于Visual Studio中的版本)。

是的,您可以直接编写:

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

由于比较表达式(如
request.body.truncateEntities===“true”
)的计算结果无论如何都是布尔值,因此三元条件表达式是不必要的

发生在我们当中最好的人身上:)