Nie wiem, ale jak dasz do alertu tą liczbę 0212, też wyświetla 138. Pewnie sposób zapisu liczb w JS sprawia, że to 0 na początku w jakiś sposób wpływa na wynik. Nie czytałem o nim zbyt dużo.
Możesz poczytać dokładniej jak dane są zapisywane w mantysie, bo to na niej opiera sie zapis liczb w JS.
Jeśli nie wiesz czym jest system binarny, poczytaj o nim, albo naucz się tego.
W programowaniu jeszcze mi się nie przydał, ale np w sieciach (wyznaczanie adresów itp) dość często, nawet nieświadomie przydaje się wiedza na ten temat.