JavaScript

!(論理否定演算子)

 編集:2022.08.07 by T.A.

論理否定演算子(論理反転、否定)は、真値を取ると偽値になり、その逆も同様です。

!

これは通常 Boolean(論理型)の値に使用されます。論理型以外の値に使用した場合、単一のオペランドが true に変換できる場合は false を返し、それ以外は true を返します。

単一のオペランドが true に変換できる場合は false を返し、それ以外は true を返します。

ある値が true に変換できる場合、その値は真値(truthy)と呼ばれます。ある値が false に変換できる場合、その値は偽値(falsy)と呼ばれます。

false に変換することができる式の例を示します:

! 演算子は論理値以外のオペランドに対して使用することができますが、返値が常に boolean プリミティブに変換することが可能であるため、論理演算子と見なすことができます。返値(または一般的な式)を対応する論理値に明示的に変換するには、二重の否定演算子または Boolean コンストラクターを使用してください。

D=!true;  //=false
D=!false; //=true
D=!'';    //=true
D=!'Cat'; //=false
二重否定 (!!)

複数の否定演算子を連続して使用することで、明示的にあらゆる値を対応する論理型プリミティブに変換することができます。変換は値の「真値性」または「偽値性」に基づいて行われます(truthy および falsy を参照)。

同じ変換は Boolean 関数を通じて行うこともできます

D=!!true; //=true
D=!!{};   //=true: オブジェクトは真値
D=!!Boolean(false);       //=false。!Boolean(false)=true
D=!!(new Boolean(false)); //=true: !(new Boolean(false))=false
D=!!false; //false
D=!!"";    //false

テスト