これを3回読めば、JavaScript(JS) にも移行できる
たのしいRuby 第5版、2016

JS, Python, PHP などでは、偽が10個ぐらいあるけど、
Ruby では、nil, false の2つだけ

puts true if []
#=> true
このようにRubyでは、空配列もtrue

JS では比較の際、型チェックされる、=== をできる限り使うべし。
なるべく、== よりも、=== を使う

Ruby ではブロックスコープがあるけど、JS ES3 では、ブロックスコープが無い。
関数スコープしかない。
ES5・6 には、あるかも知れないけど

JS の数値型は、内部的には、64bit 浮動小数点(double)だから、整数と区別できないとか、
new を付けた時と付けない時で、動作が変わるとか

まあ漏れは、JS で苦しむのは馬鹿げていると思う。
クソ言語だから、プロトタイプ型で苦しむのは当たり前