ESlint报错:Unnecessary use of boolean literals in conditional expression
在使用三元运算符时,如果给定的返回的结果是boolean值则会出现这个错误。
假设有如下方法:
var a = [1,2,3]
function fun(array) {
return array.length > 0 ? true : false
}
console.log(fun(a)) // true
错误原因:array.length > 0 这个表达式返回的结果就是boolean类型的true或false,不需要再使用三元运算符。
优化方法:当需要返回的值为非boolean类型时才使用三元运算符。
可以简化为
var b = []
function fun(array) {
return array.length > 0
}
console.log(fun(b)) // false