数値(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で値を取り出さなければならなくなってしまうので注意が必要です。