這篇想要介紹的是 ES6 的整數規則上的一些變化,首先是parseInt
,看過 JavaScript Good Part 的話都會知道,這個函數的第二個參數 radix 一定要給,不然如果遇到0
開頭的字串時,會自動被當成八進位的數字,這個被人詬病許久的設計終於在 ES6 中拿掉了,未來parseInt
只會自動判斷0x
0X
為 16 進位,不然沒給 radix 就是當 10 進位。
另外一個改變是多了可以直接表示 2 進位和 8 進位整數的語法:
bin1 = 0b11;
bin2 = 0B1000;
oct1 = 0o1199;
oct2 = 0O17;
2 進位要0b
或是0B
開頭,8 進位則是0o
或是0O
,雖然和 16 進位一樣設計,不過要注意的是parseInt
目前的 spec 設計是只會自動判斷 16 進位的喔。