ES6 数字
ES6 数字
ES6 Number 有几个方法和属性来执行具有日期、浮点数、整数等的数字函数。在 ES6,我们可以轻松地使用 Number 对象。这是因为浏览器会自动将数字文字转换为数字类的实例。
Number 对象是通过使用 Number() 构造函数创建的。 Number 对象的一些主要用途包括 NaN,它会在参数无法转换为数字时返回。
语法
var num = new Number(value);
参数
值: 正在创建的对象的数值。如果我们给出任何非数字参数代替它,则它返回 NaN,因为相应的参数不能转换为数字。
数字属性
让我们看看 ES6 中引入的 Number 对象的一些属性列表如下:
属性 |
说明 |
Number.EPSILON |
它定义了两个可表示数字之间的最小间隔。 |
Number.MAX_SAFE_INTEGER |
它定义了 JavaScript 中的最大安全整数(253-1) |
Number.MAX_VALUE |
它定义了最大可能的可表示数。 |
Number.MIN_SAFE_INTEGER |
它定义了 JavaScript 中的最小安全整数(-(253-1))。 |
Number.MIN_VALUE |
它定义了最接近零的最小正数。 |
Number.Nan |
它定义了'非数字'值。 |
Number.NEGATIVE_INFINITY |
它定义了一个值,该值小于定义的数字。 |
Number.POSITIVE_INFINITY |
它定义了一个值,该值大于定义的数字。 |
Number.prototype |
它定义了一个代表无穷大的特殊值。 |
让我们尝试详细说明 ES6 中引入的 Number 属性。
EPSILON
该属性表示1与最小浮点数的差,即大于1、我们不必创建Number对象来访问静态属性,因为我们可以简单地使用Number.EPSILON 属性。
示例
var value = Number.EPSILON;
console.log(value);
输出
Number.MAX_SAFE_INTEGER
该属性代表JavaScript(2
53-1).
示例
var value = Number.MAX_SAFE_INTEGER;
console.log(value);
输出
Number.MAX_VALUE
该属性属于静态 Number 对象,表示最大可能正数的常量。
<强>
示例
强>
var val = Number.MAX_VALUE;
console.log("Number.MAX_VALUE equals to: " + val );
输出
Number.MAX_VALUE equals to: 1.7976931348623157e+308
Number.MIN_SAFE_INTEGER
它表示 JavaScript 中的最小安全整数(-(2
53-1)).
例子
var val = Number.MIN_SAFE_INTEGER;
console.log("Number. MIN_SAFE_INTEGER equals to: " + val );
输出
Number. MIN_SAFE_INTEGER equals to:-9007199254740991
Number.MIN_VALUE
表示最小的正数值。
示例
var val = Number.MIN_VALUE;
console.log("Number.MIN_VALUE equals to : " + val );
输出
Number.MIN_VALUE equals to : 5e-324
Number 方法
Number 对象仅包含作为每个对象定义一部分的默认方法。 number对象的方法列表如下:
方法 |
说明 |
Number.isNan() |
返回传入的值是否为NaN。 |
Number.isFinite() |
返回传入的值是否为有限数。 |
Number.isInteger() |
返回传入的值是否为整数。 |
Number.isSafeInteger() |
判断传入的值是否为安全整数(范围在-(253-1)和(253-1)). |
Number.parseFloat() |
相当于全局对象的parseFloat() |
Numbr.pareInt() |
相当于全局对象的parseInt() |
让我们试着详细说明一下 ES6 中引入的上述 Number 方法。
Number.isNan()
判断值是否为Nan。如果值不是数字,则返回 true。
示例
var res = Number.isNaN(NaN);
console.log(res);
var res1 = Number.isNaN('Nan');
console.log(res1);
var res2 = Number.isNaN(123);
console.log(res2);
输出
Number.isFinite()
判断一个值是否为有限数。如果值为 Number 类型并等于有限数,则返回 true。否则返回 false。
示例
var res = Number.isFinite(Infinity);
console.log(res);
var res1 = Number.isFinite(123);
console.log(res1);
var res2 = Number.isFinite('Infinity');
console.log(res2);
输出
Number.isInteger()
顾名思义,它决定了传递的值是否为整数。如果值是数字并且必须是整数(不带小数的数字),则返回 true。否则返回 false。
示例
var res = Number.isInteger(-100);
console.log(res);
var res1 = Number.isInteger(100);
console.log(res1);
var res2 = Number.isInteger(1.001);
console.log(res2);
输出
Number.isSafeInteger()
安全整数是在-(2
53-1) 和(2
53-1)。 Number.isSafeInteger() 方法确定该值是否为安全整数。
示例
var res = Number.isSafeInteger(-100);
console.log(res);
var res1 = Number.isSafeInteger(100.9);
console.log(res1);
var res2 = Number.isSafeInteger(-100);
console.log(res2);
var res3 = Number.isSafeInteger(Math.pow(2,53));
console.log(res3);
输出
二进制、八进制和十六进制文字
ES6 添加了对二进制文字的支持并改变了文字的表示方式。让我们看看 ES6 中文字的表示。
二进制文字表示
ES6 中的二进制文字使用 0b 前缀表示, 后跟二进制数序列,分别是0 和1。
前缀可以小写也可以大写。但是,建议前缀使用小写。
示例
console.log(0b010)
console.log(0b110)
console.log(0b101)
console.log(0B100)
输出
八进制文字表示
ES6 中的八进制文字使用 0o 前缀表示,后跟八进制数字序列(从 0 到 7 )。我们不能在八进制文字中包含超出范围(0 到 7)的数字或数字组合。
示例
console.log(0o34)
console.log(0o1007)
console.log(0o571234)
输出
十六进制文字表示
ES6 中的十六进制文字使用 0x 前缀表示
示例
console.log(0x678)
console.log(0x100)
console.log(0x788)
输出