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); //trueNo tags for this post.