23

!!angular.js には、if 条件で値が真であるかどうかを確認するために使用するコード スニペットがいくつかあります。

それはベストプラクティスですか?戻り値やその他の代入については完全に理解しています!! タイプがブールであることを確認するために使用されます。しかし、それは条件チェックにも当てはまりますか?

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

4

2 に答える 2

45

いいえ、!!ある状態ではまったく役に立たずif、読者を混乱させるだけです。

に変換されるtrue値も、ブール値のコンテキストで評価される値であるため、テストに!!value合格します。それらは"truthy"と呼ばれます。iftrue

だからただ使う

if (value) {
于 2014-11-13T10:12:51.700 に答える