8

I am trying this code in atom with ESLint

Code snippet:

$scope.IsVisible = false;
$scope.ShowHide = function () {
  $scope.IsVisible = $scope.IsVisible ? false : true; // error
};

Got this ESLint error: error Unnecessary use of boolean literals in conditional expression no-unneeded-ternary

Tried with these solutions solution 1 and solution 2, but error is not fixed. Furthermore, code works fine in editor without ESLint.

Community
  • 1
  • 1
manvi77
  • 536
  • 1
  • 5
  • 15

2 Answers2

18

Try the good way =). No need to use statements in this case.

$scope.IsVisible = !$scope.IsVisible;
lin
  • 17,956
  • 4
  • 59
  • 83
3

In my case, I wanted to assign a value to my boolean, according to a variable that was either an object or null.

As kylesimmonds stated, the double bang !! operator can be used.

const myObject: SomeObjectType | null;
...

const isObjectExistent: boolean = !!myObject;
/*
  instead of:
  const isObjectExistent: boolean = myObject? true : false;
*/

Check: What is the !! (not not) operator in JavaScript?

treecon
  • 2,415
  • 2
  • 14
  • 28