ES6 数字



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

输出
2.220446049250313e-16

Number.MAX_SAFE_INTEGER

该属性代表JavaScript(2
53-1).
示例
var value = Number.MAX_SAFE_INTEGER; 
console.log(value);

输出
9007199254740991

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

输出
   true
false
false

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

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

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

输出
   true
false
true
true

二进制、八进制和十六进制文字

ES6 添加了对二进制文字的支持并改变了文字的表示方式。让我们看看 ES6 中文字的表示。

二进制文字表示

ES6 中的二进制文字使用 0b 前缀表示, 后跟二进制数序列,分别是0 和1。
前缀可以小写也可以大写。但是,建议前缀使用小写。
示例
console.log(0b010) 
console.log(0b110) 
console.log(0b101) 
console.log(0B100)

输出
2
6
5
4

八进制文字表示

ES6 中的八进制文字使用 0o 前缀表示,后跟八进制数字序列(从 0 到 7 )。我们不能在八进制文字中包含超出范围(0 到 7)的数字或数字组合。
示例
console.log(0o34) 
console.log(0o1007)
console.log(0o571234)

输出
28
519
193180

十六进制文字表示

ES6 中的十六进制文字使用 0x 前缀表示
示例
console.log(0x678) 
console.log(0x100)
console.log(0x788)

输出
1656
256
1928