国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > JavaScript > 正文

淺析ES6的八進制與二進制整數字面量

2019-11-20 09:07:29
字體:
來源:轉載
供稿:網友

前言

在幾年前,當SpiderMonkey實現了嚴格模式的時候.我了解到,嚴格模式禁用了八進制整數字面量的寫法.因為有證據表明,一些新手會利用前導0來對齊多行中的數字,從而導致意想不到的結果:

var sum = 015 + // 相當于十進制的13,而不是15     197 +     001;  // 反正是1console.log(sum) // 相加得到的和是211,而不是新手認為的213

但是仍有一些開發(fā)者們需要八進制整數(尤其是那些Mozilla擴展開發(fā)者和node.js開發(fā)者),最常見的就是用在處理文件權限(755,644這些)的時候.因此,ES6又增加了一種新的八進制整數字面量寫法.和十六進制的0x或0X類似,新的八進制整數使用0o或0O作為前導標識,后面跟若干個八進制的數字字符(0到7),這種寫法就不會再困擾新手了:

var DEFAULT_PERMS = 0o644; // 嚴格模式下也可用

值得注意的一點是,0O前綴的可讀性太差了(0和大寫的O長的太像了,很難區(qū)分),我在esdiscuss上提出了這個問題,希望能禁用掉大寫的0O前綴,不過TC39目前的決定還是認為一致性應該大于可讀性(一致性指的是要和0X以及0B等一致).我認為這個決定是值得商榷的,我推薦你永遠不要使用大寫的0O.

另外,一些開發(fā)者們還需要二進制的整數字面量寫法,這種寫法ECMAScript從來沒有支持過.ES6支持了這種寫法,和八進制以及十六進制類似,使用0b或0B前綴:

var FLT_SIGNBIT = 0b10000000000000000000000000000000;var FLT_EXPONENT = 0b01111111100000000000000000000000;var FLT_MANTISSA = 0b00000000011111111111111111111111;

目前Firefox Aurora已經實現了這兩個語法,如果你更富有冒險精神,還可以使用更新的Firefox Nightly.

總結

以上就是這篇文章的全部內容,希望本文的內容對大家學習ES6能有所幫助。如果有疑問可以留言交流。

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 泰宁县| 彰化县| 松滋市| 苍南县| 黄浦区| 桓台县| 桦川县| 东莞市| 尚志市| 安阳市| 隆昌县| 温泉县| 镶黄旗| 托克托县| 莱西市| 泰兴市| 呼和浩特市| 新化县| 巴楚县| 道真| 高阳县| 简阳市| 板桥市| 龙口市| 闸北区| 南涧| 岳普湖县| 中卫市| 新宁县| 札达县| 顺平县| 伊宁市| 隆德县| 桂平市| 平江县| 郎溪县| 万盛区| 陇南市| 临城县| 正阳县| 津市市|