ECMAScript 2016 中的数字扩展:二进制与八进制表示法

在 ECMAScript 2016 中,加入了二进制和八进制数字表示法的支持。这让 JavaScript 开发人员可以更方便、更直观地表示数字,同时也能够避免一些常见的数字表示误差问题。

二进制数字表示法

二进制数字表示法允许使用 0b0B 前缀来表示二进制数字。例如,要表示二进制数字 1010,可以使用以下代码:

可以看到,使用二进制数字表示法可以更明确地表示数字,并且可以避免一些常见的数字表示误差问题。例如,以下代码的结果可能出乎意料:

而使用二进制数字表示法可以避免这种问题:

值得注意的是,二进制数字表示法只支持整数部分和小数部分的二进制表示,不支持科学计数法等其他表示方式。

八进制数字表示法

八进制数字表示法允许使用 0o0O 前缀来表示八进制数字。例如,要表示八进制数字 42,可以使用以下代码:

需要注意的是,八进制数字表示法在严格模式下是禁用的,因为八进制数字表示法在不同的实现中可能有不同的行为,可能会导致意料外的结果。例如,在 Chrome 浏览器中,以下代码的结果是 9

因此,为了避免不同实现之间的兼容性问题,建议不要使用八进制数字表示法。

总结

ECMAScript 2016 中的数字扩展让 JavaScript 开发人员可以更方便、更直观地表示数字,同时也能够避免一些常见的数字表示误差问题。二进制数字表示法是一个很好的补充,建议开发人员在需要表示二进制数字时使用。而八进制数字表示法则不太建议使用,因为它在不同的实现中可能会有不同的行为,可能会导致意料之外的结果。

来源:JavaScript中文网 ,转载请注明来源 本文地址:https://www.javascriptcn.com/post/6531d7f07d4982a6eb3d16ee


纠错
反馈