Bye Bye Moore

猫マンション建築の野望を胸に零細事業主として資本主義の荒波に漕ぎ出したアラサー男の技術メモ

javascriptにおいて、trueは1(数値)として扱われる事がある

ちょっと何言ってるかわかりませんが、javascriptにおいてtrueは1として扱われてしまう事があります。
条件式でも1と扱うことができますし、四則演算もビット演算もできます。
魔界記法を実現したいならモッテコイですね……実際には意図しないバグを潰す過程で見つかりそうな話ですが。

実際のところ

比較演算

trueが1ということは、(1 == true)は正を返します

console.log( (1 == true) ? 'yes' : 'no')
//=> yes

そうでないもの……たとえば5だとか'hoge'だとかは負です

console.log( (1 == true) ? 'yes' : 'no')
//=> no

console.log( (1 == true) ? 'yes' : 'no')
//=> no

演算

trueが1という事は……他の数値と同様、計算ができます。

true + 1
// 2

true << 2
// 4 as 0b100

こりゃもうわかんねぇな(呆