ES6的八进制和二进制整数数字表面分析
前言几年前,当SpiderMonkey实现严格的模式,我学到了严格的方式禁止八进制整数写作。因为有证据表明,一些新手会使用领导者0来对齐多行的数字,从而导致意外的结果。
var = 015 + 十进制相当于13而不是15。
197 +
001 1无论如何;
console.log(和) / /的总和是211,而不是213的新手认为
但仍有一些开发商需要八进制整数(特别是Mozilla扩展开发者和Node.js开发),最常见的是用于处理文件的权限(755644)时间。因此,ES6增添了一个新的八进制整数常量和十六进制形式。0x或0X相似,新的八进制整数使用0o或0o为主导标志,其次是一些数字的八进制(0到7),这不再是困扰菜鸟:
无功default_perms = 0o644; / /严格的模式也可
值得注意的是,0o前缀的可读性差(0和资本啊,长的太像了,很难区分),我把这个放在esdiscuss,希望0o前缀残疾的资本,但决定TC39电流或一致性要大于可读性(一致性是指0x 0B)和一致的。我认为这个决定是值得商榷的,我建议你不要用大写0o。
另外,一些开发者还需要二进制整数数字体写。ECMAscript没有supported.es6,这是类似于二进制八进制和十六。0b或0b前缀用于。
无功flt_signbit = 0b10000000000000000000000000000000;
无功flt_exponent = 0b01111111100000000000000000000000;
无功flt_mantissa = 0b00000000011111111111111111111111;
现在Firefox极光已经实现了这两种语法,如果你更冒险,你也可以每晚更新Firefox。
总结
这是这篇文章的全部内容,希望本文的内容将帮助您了解ES6。如果您有任何问题,你可以沟通。