JavaScript
 Computer >> コンピューター >  >> プログラミング >> JavaScript

JavaScriptの論理NOT(!)演算子とは?基本から実例までわかりやすく解説

JavaScriptの論理NOT(!)演算子とは

論理NOT(!)演算子は、JavaScriptにおける単項演算子の一つで、オペランドの真偽値(ブール値)を反転させます。つまり、truefalseに、falsetrueに変換します。「〜ではない」という否定条件を表現したい場合によく使われる、非常に重要な演算子です。

基本的な動作

  • !truefalse を返す
  • !falsetrue を返す

比較演算の結果に対しても適用できるため、条件式の評価結果を簡単に反転させることができます。

コード例

<html>
<body>
<p id="logical"></p>
<script>
   var x = 200;
   var y = 300;
   document.getElementById("logical").innerHTML =
   !(x < y) + "<br>" + !(x > y);
</script>
</body>
</html>

出力結果

false
true

コードの解説

この例では、変数 x は200、y は300です。

  • (x < y) は「200は300より小さい」ため true ですが、先頭に ! が付いているので結果は false になります。
  • (x > y) は「200は300より大きい」ため false ですが、! によって反転され、結果は true になります。

補足:二重NOT(!!)で真偽値に変換する

! を2回続けて記述する「二重NOT(!!)」は、任意の値を明示的にブール値へ変換する際の定番テクニックです。

console.log(!!"hello"); // true(文字列はtruthyな値)
console.log(!!0);        // false(0はfalsyな値)

このように、論理NOT演算子は単なる否定だけでなく、値の真偽判定にも活用できる便利な演算子です。

  1. JavaScriptのグループ化演算子とは?優先順位の制御方法をサンプルコードで解説

    グループ化演算子とはJavaScriptのグループ化演算子は、丸括弧「()」で表され、式を評価する際の優先順位を制御するために使用されます。通常、演算子にはあらかじめ決められた優先順位があり、乗算(*)や除算(/)は加算(+)や減算(-)よりも先に評価されます。しかし、グループ化演算子で式を囲むことで、この優先順位を意図的に変更し、囲まれた部分を最優先で計算させることができます。例えば「2+2*5/22」という式の場合、標準の優先順位では乗算・除算が先に実行されますが、丸括弧を使うことで「(2+2)*5/22」のように加算を先に行わせることが可能です。サンプルコード以下は、JavaScript

  2. 【初心者向け】JavaScriptでオブジェクトのディープクローンを作成する方法を実例付きで解説

    はじめにJavaScriptでは、単純な代入(=)やObject.assign()などによるコピーはシャローコピー(浅いコピー)となり、元のオブジェクトとプロパティへの参照が共有されてしまいます。そのため、一方を変更するともう一方にも影響が及びます。これを防ぐには、参照関係まで完全に切り離したディープクローン(深いコピー)を作成する必要があります。本記事では、JSON.parse(JSON.stringify()) を使ったシンプルな方法で、オブジェクトのディープクローンを作成する例を紹介します。ディープクローンのサンプルコード以下のコードでは、ボタンをクリックすると元のオブジェクト obj