当前位置: 首页 > 教程 > ECMAScript/ES6 >

ECMAScript/ES6 Number对象

精华
小牛编辑
94浏览
2023-03-14

ES6 Number对象具有执行日期,浮点数,整数等数字功能的几种方法和属性。使用ES6中可以使用Number对象来实现数字的操作。 这是因为浏览器会自动将数字文字转换为Number类的实例。

使用Number()构造函数创建Number对象。 Number对象的一些主要用途包括NaN,当参数无法转换为数字时将返回:NaN

语法

var num = new Number(number_value);

参数说明:

  • number_value:这是要创建的对象的数值。如果提供非数字参数,则它将返回NaN,因为相应的参数无法转换为数字。

1.Number属性

下面来看看ES6中引入的Number对象的一些属性:

语法 属性 说明
1. Number.EPSILON 定义两个可表示数字之间的最小间隔。
2. Number.MAX_SAFE_INTEGER 它定义JavaScript(253-1)中的最大安全整数
3. Number.MAX_VALUE 它定义了最大的可表示数字。
4. Number.MIN_SAFE_INTEGER 它定义JavaScript(-(253-1))中的最小安全整数。
5. Number.MIN_VALUE 定义最小的正数,最接近零。
6. Number.Nan 定义“非数字”值。
7. Number.NEGATIVE_INFINITY 它定义一个值,该值小于定义的数字。
8. Number.POSITIVE_INFINITY 它定义一个值,该值大于定义的数字。
9. Number.prototype 它定义一个表示无穷大的特殊值。

下面详细地介绍ES6中引入的Number属性。

1.1.EPSILON

该属性表示1与最小浮点数之间的差,该差大于1。不需要创建Number对象就可以直接访问静态属性,可以简单地使用Number.EPSILON属性。

示例代码

var value = Number.EPSILON;  
console.log(value);

运行结果如下:

2.220446049250313e-16

1.2.Number.MAX_SAFE_INTEGER

此属性表示JavaScript(25^3-1)中的最大安全整数。

示例代码

var value = Number.MAX_SAFE_INTEGER;   
console.log(value);

运行结果如下:

9007199254740991

1.3.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

1.4.Number.MIN_SAFE_INTEGER

它表示JavaScript(-(253-1))中的最小安全整数。

示例代码

var val = Number.MIN_SAFE_INTEGER;   
console.log("Number. MIN_SAFE_INTEGER equals to: " + val );

运行结果:

Number. MIN_SAFE_INTEGER equals to: -9007199254740991

1.5.Number.MIN_VALUE

它代表最小的正数值。

示例代码

var val = Number.MIN_VALUE;   
console.log("Number.MIN_VALUE equals to : " + val );

运行结果如下:

Number.MIN_VALUE equals to : 5e-324

2.Number方法

Number对象仅包含属于每个对象定义的一部分的默认方法。 Number对象的方法如下:

序号 方法 说明
1. Number.isNan() 返回所传递的值是否为NaN。
2. Number.isFinite() 返回所传递的值是否为有限数字。
3. Number.isInteger() 返回所传递的值是否为整数。
4. Number.isSafeInteger() 确定传递的值是否为安全整数(范围为-(253-1)和(253-1)之间)。
5. Number.parseFloat() 等效于全局对象的parseFloat()。
6. Numbr.pareInt() 等效于全局对象的parseInt()。

下面将详细介绍ES6中引入的上述Number方法。

2.1.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);

运行结果如下:

true
false
false

2.2.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);

运行结果如下:

false
true
false

2.3.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);

运行结果如下:

true
true
false

2.4.Number.isSafeInteger()

安全整数是在-(25^3-1)(25^3-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);

运行结果如下:

true
false
true
true

3.二进制,八进制和十六进制文字

ES6增加了对二进制文字的支持,并更改了表示文字的方式。下面来看看ES6中文字的表示形式。

3.1.二进制文字表示

ES6中的二进制文字使用0b前缀表示,后跟二进制数字序列,分别为:01。前缀可以大写或小写。 但是,建议将小写字母用作前缀。

示例

console.log(0b010)   
console.log(0b110)   
console.log(0b101)   
console.log(0B100)

运行结果如下:

2
6
5
4

3.2.八进制文字表示

ES6中的八进制文字使用0o前缀表示,后跟八进制数字的序列(从07)。不能在八进制文字中包含超出范围(07)的数字或数字组合。

示例代码

console.log(0o34)   
console.log(0o1007)  
console.log(0o571234)

运行结果如下:

28
519
193180

3.3.十六进制字面量表示

ES6中的十六进制文字使用0x前缀表示。

示例

console.log(0x678)   
console.log(0x100)  
console.log(0x788)

运行结果如下:

1656
256
1928