否定演算子(!)とは?

否定演算子(!)は、値の真偽(true・false)を反転する演算子です。
つまり、trueならfalseに、falseならtrueになります。
「○○ではない場合」という条件を書くときによく使われます。
基本的な使い方
まずは最も簡単な例を見てみましょう。
console.log(!true);
console.log(!false);
実行結果
false
true
このように、!を付けるだけで真偽値が反転します。
if文で使う例
否定演算子は、if文でよく利用されます。
let isRaining = false;
if (!isRaining) {
console.log("今日は雨が降っていません");
}
実行結果
今日は雨が降っていません
isRainingはfalseですが、!isRainingはtrueになるため、if文の中が実行されます。
「雨が降っていない」という条件を自然に書けるのが、否定演算子の便利なところです。
数値や文字列にも使える
否定演算子は、trueやfalseだけでなく、数値や文字列にも使用できます。
JavaScriptは、自動的に値を真偽値へ変換してから反転します。
console.log(!0);
console.log(!1);
console.log(!"");
console.log(!"Hello");
実行結果
true
false
true
false
JavaScriptでは、主に次のように判定されます。
| 値 | 真偽値 |
|---|---|
0 |
false |
""(空文字) |
false |
null |
false |
undefined |
false |
| それ以外の数値・文字列 | true |
二重否定(!!)とは?
否定演算子を2回続けて書くと、値を真偽値(Boolean型)へ変換できます。
これを二重否定と呼びます。
console.log(!!0);
console.log(!!1);
console.log(!!"");
console.log(!!"Hello");
実行結果
false
true
false
true
最初の!で反転し、2回目の!でさらに反転するため、最終的に元の真偽値だけが残ります。
否定演算子の動作一覧
| 元の値 | ! |
!! |
|---|---|---|
true |
false |
true |
false |
true |
false |
1 |
false |
true |
0 |
true |
false |
"Hello" |
false |
true |
"" |
true |
false |
null |
true |
false |
undefined |
true |
false |
よくある使い方
入力されているかどうかを調べる場合にも、否定演算子はよく利用されます。
let name = "";
if (!name) {
console.log("名前を入力してください");
}
実行結果
名前を入力してください
空文字列はfalseとして扱われるため、入力されていないかどうかを簡単に判定できます。
まとめ
- 否定演算子(
!)は、真偽値を反転します。 trueはfalseに、falseはtrueになります。- 数値や文字列にも使用でき、自動的に真偽値へ変換されます。
- 二重否定(
!!)は、値をBoolean型へ変換するときに利用されます。 if (!変数)は、「変数が空・false・0・null・undefinedである」ときによく使われます。- 条件式を書く際によく登場する基本的な演算子なので、しっかり覚えておきましょう。