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

JavaScriptの「!!」演算子はnot演算子(!)の逆の処理に相当する?違いをわかりやすく解説

「!!」演算子はnot演算子の逆の処理なのか?

結論から言うと、Yesです。「!!」(not not)演算子は、not演算子(単一の「!」)の逆の働きをする演算子です。

具体的には、ある値がtrueである場合、単一の「!」を付けるとfalseが返されます。一方、「!!」を付けると、元の値の真偽値がそのまま返されるため、trueが返ります。

not演算子(!)の動作

var flag=true;
console.log(!flag);

このコードでは、trueに対してnot演算子を適用しているため、コンソールにはfalseが出力されます。

not not演算子(!!)の動作

var flag=true;
console.log(!!flag);

こちらのコードでは、not演算子を2回適用しているため、元の値であるtrueが出力されます。「!!」は値を明示的にブール型(boolean)へ変換する際にもよく使われるテクニックです。

サンプルコード

以下に、両者の挙動を確認できるコードを示します。

var flag=true;
console.log("The result of single !=")
console.log(!flag);
console.log("The result of single !!=")
console.log(!!flag)

実行方法

上記のプログラムを実行するには、次のコマンドを使用します。

node fileName.js.

ここでは、ファイル名をdemo247.jsとしています。

出力結果

上記プログラムを実行すると、コンソールには次のような出力が表示されます。

PS C:\Users\Amit\javascript-code> node demo247.js
The result of single !=
false
The result of single !!=
True

まとめ

  • 単一の「!」は値の真偽を反転させる演算子です。
  • 「!!」はnot演算子を2回適用するため、元の値の真偽値と同じ結果になります。
  • 「!!」は任意の値をブール値に変換する際の慣用的な書き方として広く使われています。
  1. JavaScriptのconsole.log()メソッドとは?基本の使い方と実行例をわかりやすく解説

    JavaScriptのconsole.log()メソッドは、ブラウザの開発者コンソールにメッセージや値を出力するために使用される、最も基本的かつ頻繁に使われるデバッグ用メソッドです。 文字列だけでなく、数値・オブジェクト・配列など、あらゆる型のデータを出力できるため、変数の中身を確認したり、プログラムの動作を検証したりする際に欠かせません。 基本構文 console.log(出力したい値); 引数には、出力したいメッセージや変数、オブジェクトなどを指定します。カンマ区切りで複数の値を渡すことも可能です。 コード例 以下は、console.log()メソッドを使ってオブジェクトと文字列をコンソー

  2. JavaScriptのnew演算子とは?オブジェクト生成の基本をサンプルコードで解説

    new演算子の基本的な役割 JavaScriptにおけるnew演算子は、ユーザーが定義したオブジェクト型や、コンストラクタ関数を持つ組み込みオブジェクト型のインスタンスを新しく生成するために使用されます。 new演算子を使うことで、同じ構造を持つ複数のオブジェクトを効率よく作成でき、コードの再利用性や保守性が大きく向上します。 new演算子の使用例 以下は、JavaScriptでnew演算子を使用した実際のコード例です。 <!DOCTYPE html> <html lang=ja> <head> <meta charset=UTF-8 /> &l