7

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
  • 492
  • 1
  • 4
  • 15

2 Answers2

17

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

$scope.IsVisible = !$scope.IsVisible;
lin
  • 17,405
  • 4
  • 54
  • 82
0

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
  • 1,998
  • 2
  • 13
  • 21