JavaScriptの論理NOT(!)演算子とは?基本から実例までわかりやすく解説
JavaScriptの論理NOT(!)演算子とは
論理NOT(!)演算子は、JavaScriptにおける単項演算子の一つで、オペランドの真偽値(ブール値)を反転させます。つまり、trueをfalseに、falseをtrueに変換します。「〜ではない」という否定条件を表現したい場合によく使われる、非常に重要な演算子です。
基本的な動作
!true→falseを返す!false→trueを返す
比較演算の結果に対しても適用できるため、条件式の評価結果を簡単に反転させることができます。
コード例
<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演算子は単なる否定だけでなく、値の真偽判定にも活用できる便利な演算子です。
-
JavaScriptのグループ化演算子とは?優先順位の制御方法をサンプルコードで解説
グループ化演算子とはJavaScriptのグループ化演算子は、丸括弧「()」で表され、式を評価する際の優先順位を制御するために使用されます。通常、演算子にはあらかじめ決められた優先順位があり、乗算(*)や除算(/)は加算(+)や減算(-)よりも先に評価されます。しかし、グループ化演算子で式を囲むことで、この優先順位を意図的に変更し、囲まれた部分を最優先で計算させることができます。例えば「2+2*5/22」という式の場合、標準の優先順位では乗算・除算が先に実行されますが、丸括弧を使うことで「(2+2)*5/22」のように加算を先に行わせることが可能です。サンプルコード以下は、JavaScript
-
【初心者向け】JavaScriptでオブジェクトのディープクローンを作成する方法を実例付きで解説
はじめにJavaScriptでは、単純な代入(=)やObject.assign()などによるコピーはシャローコピー(浅いコピー)となり、元のオブジェクトとプロパティへの参照が共有されてしまいます。そのため、一方を変更するともう一方にも影響が及びます。これを防ぐには、参照関係まで完全に切り離したディープクローン(深いコピー)を作成する必要があります。本記事では、JSON.parse(JSON.stringify()) を使ったシンプルな方法で、オブジェクトのディープクローンを作成する例を紹介します。ディープクローンのサンプルコード以下のコードでは、ボタンをクリックすると元のオブジェクト obj