否定演算子(!) | 論理演算子 | JavaScript 超完全入門 基本から発展までのすべて

スポンサーリンク
スポンサーリンク
amazon
スマイルSALE
--:--:--
ad. 価格範囲を指定して商品を探せます

否定演算子(!)とは?

否定演算子(!は、値の真偽(true・false)を反転する演算子です。

つまり、trueならfalseに、falseならtrueになります。

「○○ではない場合」という条件を書くときによく使われます。

基本的な使い方

まずは最も簡単な例を見てみましょう。

console.log(!true);
console.log(!false);

実行結果

false
true

このように、!を付けるだけで真偽値が反転します。

if文で使う例

否定演算子は、if文でよく利用されます。

let isRaining = false;

if (!isRaining) {
    console.log("今日は雨が降っていません");
}

実行結果

今日は雨が降っていません

isRainingfalseですが、!isRainingtrueになるため、if文の中が実行されます。

「雨が降っていない」という条件を自然に書けるのが、否定演算子の便利なところです。

数値や文字列にも使える

否定演算子は、truefalseだけでなく、数値や文字列にも使用できます。

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として扱われるため、入力されていないかどうかを簡単に判定できます。

まとめ

  • 否定演算子(!)は、真偽値を反転します。
  • truefalseに、falsetrueになります。
  • 数値や文字列にも使用でき、自動的に真偽値へ変換されます。
  • 二重否定(!!)は、値をBoolean型へ変換するときに利用されます。
  • if (!変数)は、「変数が空・false・0・null・undefinedである」ときによく使われます。
  • 条件式を書く際によく登場する基本的な演算子なので、しっかり覚えておきましょう。