サイトアイコン Amelt.net

javascript:エクスクラメーションマークが2つ(!!)の意味についてのメモ

Amelt

Amelt

This post is also available in: English-US (英語)

javascriptのコードで、エクスクラメーションマーク(ビックリマーク)が2つついた変数を初めて見た時に若干戸惑ったので、忘れないようにメモして公開しています。
ちなみにエクスクラメーションマークの意味は not(true の not は false みたいな) です。

エクスクラメーションマーク1つ

var a = true;
console.log(!a); //false
//boobleanをNumberで数値に変換とかもできる。
console.log(Number(!a)); //0

返り値をbooblean(true/false)ではなく、数値で欲しい場合にはNumber(1/0)で変換する。

エクスクラメーションマーク2つ

true の not not で true が返る。

var b = true;
console.log(!!b); //true

以下のコードよりエクスクラメーションマークを使うと、booblean(true/false)に変換されることが分かります。

var c = undefined; //その他 0,null でも結果は同じ
console.log(!!c); //false
//Objectはtrue
var d = Object;
console.log(!!d); //true

参考:What is the !! (not not) operator in JavaScript?

No tags for this post.