ES6 – 基础学习(5: 数值扩展
二进制和八进制数值表示法
ES6提供了二进制和八进制数值的新写法,分别前缀 0b(
或0B)、
0o(
或0O)然后跟上二进制、八进制值即可。
二进制(Binary)表示法新写法:前缀 0b 或 0B。
let binary = 0b010101; // 21 let binary2 = 0B010111; // 23
八进制(Octal)表示法新写法:前缀 0o 或 0O。
let octal = 0o123; // 83 let octal2 = 0O1234; // 668
从ES5开始,严格模式下,八进制数值就不再允许用前缀0
表示,ES6则进一步明确规定,八进制数值用0o前缀
表示。
// 非严格模式 (function () { console.log(0o01 === 001); })(); // true // 严格模式 (function () { 'use strict'; console.log(0o01 === 001); // Octal literals with prefix '0' are not allowed. Use '0o' prefix instead })(); // Uncaught SyntaxError: Octal literals are not allowed in strict mode.
数值的验证、判断、以及转换
ES6不仅提供了很多新的数值处理方法,同时还将之前相对零散的全局处理方法都整理到了Number对象里面。
数值的验证:Number.isFinite()【用于检查一个数值是否为有限的( finite),即不是 Infinity】,Number.isNaN()【用于检查一个值是否为NaN】
数值的判断:Number.
isInteger()【用于判断一个数值是否为整数】,Number.isSafeInteger()【用于判断数值是否在安全范围内】
数值的转换:Number.parseInt(), Number.parseFloat()