みかづきブログ その3

本ブログは更新を終了しました。通算140万ユーザーの方に観覧頂くことができました。長い間、ありがとうございました。

👆

引越し先はこちらです!

JavaScriptで真偽値(Boolean)を数値(Number)にキャストする

kimizuka.hatenablog.com

数値(Number)を真偽値(Boolean)にすることはよくあるのですが、逆を考えたときに一瞬むむむと思ったのでメモしておきます。


JavaScript

Number(true); // => 1
Number(false); // => 0

true - 0; // => 1
false - 0; // => 0

true / 1; // => 1
false / 1; // => 0

+true; // => 1
+false; // => 0

parseInt(true, 10); // => NaN
parseInt(false, 10); // => NaN

Numberの引数に渡すのが一番意味が通りそうですね。
ただし new をつけてしまうとNumberオブジェクトが返ってきてしまい、

(new Number(true)).valueOf(); // => 1
(new Number(false)).valueOf(); // => 0

と、valueOfで値を取り出さなければならなくなってしまうので注意が必要です。