首页 > ECMAscript 5 为啥不支持 八进制值

ECMAscript 5 为啥不支持 八进制值

《Prefessional Javascript for Web Developers 3rd Edition》里面有提到,我感觉很困惑


不支持的是字面量形式的八进制数值,而且仅在严格模式下才会开启运行时检查,想要使用八进制可以用 parseInt 处理一下。

严格模式不支持字面量形式八进制数值的主要原因是用 0 开头的数字太容易让人犯错了。


后面多加一个基数的参数,用来判别进制,就OK了,昨天看js书籍中学到的,呵呵!


Here


javascript 以前是支持八进制数的,直到 ECMA-262 strict mode 才变成不允许。

八进制数这种表达方式在很多语言里面都被废弃了,替代它的是 0o1234567 这种形式,这应该是大势所趋了。特别是在动态语言里面,经常会有 string 和数字自动互转,09 究竟应该被转成 9 还是出错太让人纠结了,于是最终大家都倾向于废弃旧的八进制,把 09 当做 9 来看了。

【热门文章】
【热门文章】