javascriptangularjstruthiness

Is !! a best practice to check a truthy value in an if statement


In angular.js, there are some code snippets use !! to check whether a value is truthy in if condition.

Is it a best practice? I fully understand in return value or other assignment !! is used to make sure the type is Boolean. But is it also true for condition checks?

if (!!value) {
  element[name] = true;
  element.setAttribute(name, lowercasedName);
} else {
  element[name] = false;
  element.removeAttribute(lowercasedName);
}


Solution

  • No, !! is totally useless in a if condition and only confuses the reader.

    Values which are translated to true in !!value also pass the if test because they're the values that are evaluated to true in a Boolean context, they're called "truthy".

    So just use

    if (value) {