ES6 的數字

這篇想要介紹的是 ES6 的整數規則上的一些變化,首先是parseInt,看過 JavaScript Good Part 的話都會知道,這個函數的第二個參數 radix 一定要給,不然如果遇到0開頭的字串時,會自動被當成八進位的數字,這個被人詬病許久的設計終於在 ES6 中拿掉了,未來parseInt只會自動判斷0x0X為 16 進位,不然沒給 radix 就是當 10 進位。

另外一個改變是多了可以直接表示 2 進位和 8 進位整數的語法:

bin1 = 0b11;
bin2 = 0B1000;

oct1 = 0o1199;
oct2 = 0O17;

2 進位要0b或是0B開頭,8 進位則是0o或是0O,雖然和 16 進位一樣設計,不過要注意的是parseInt目前的 spec 設計是只會自動判斷 16 進位的喔。