📅  最后修改于: 2021-01-01 04:13:00             🧑  作者: Mango
ES6 Number具有执行日期,浮点数,整数等数字功能的几种方法和属性。使用ES6中的Numbers,我们可以轻松地使用Number对象。这是因为浏览器会自动将数字字面量转换为数字类的实例。
使用Number()构造函数创建Number对象。 Number对象的一些主要用途包括NaN ,当参数不能转换为数字时,它将返回。
var num = new Number(value);
值:这是要创建的对象的数值。如果我们提供任何非数字参数来代替它,则它将返回NaN,因为相应的参数无法转换为数字。
让我们看一下ES6中引入的Number对象的一些属性,列表如下:
S.no | Properties | Description |
---|---|---|
1. | Number.EPSILON | It defines the smallest intervals between two representable numbers. |
2. | Number.MAX_SAFE_INTEGER | It defines maximum safe integer in JavaScript (253-1) |
3. | Number.MAX_VALUE | It defines the largest possible representable number. |
4. | Number.MIN_SAFE_INTEGER | It defines the minimum safe integer in JavaScript (-(253-1)). |
5. | Number.MIN_VALUE | It defines the smallest positive number, which is closest to zero. |
6. | Number.Nan | It defines ‘not a number’ value. |
7. | Number.NEGATIVE_INFINITY | It defines a value, which is less than the defined number. |
8. | Number.POSITIVE_INFINITY | It defines a value, which is greater than the defined number. |
9. | Number.prototype | It defines a special value that represents infinity. |
让我们尝试详细介绍ES6中引入的Number属性。
此属性表示1与最小浮点数之间的差,该差大于1。我们不必创建Number对象来访问静态属性,因为我们可以简单地使用Number.EPSILON属性。
例
var value = Number.EPSILON;
console.log(value);
输出量
2.220446049250313e-16
此属性表示JavaScript ( 2 53 -1 )中的最大安全整数。
例
var value = Number.MAX_SAFE_INTEGER;
console.log(value);
输出量
9007199254740991
此属性属于静态Number对象,并表示可能的最大正数的常量。
例
var val = Number.MAX_VALUE;
console.log("Number.MAX_VALUE equals to: " + val );
输出量
Number.MAX_VALUE equals to: 1.7976931348623157e+308
它表示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
它代表最小的正数值。
例
var val = Number.MIN_VALUE;
console.log("Number.MIN_VALUE equals to : " + val );
输出量
Number.MIN_VALUE equals to : 5e-324
Number对象仅包含默认方法,这些方法是每个对象定义的一部分。数字对象的方法列表如下:
S.no. | Methods | Description |
---|---|---|
1. | Number.isNan() | It returns whether the passed value is NaN or not. |
2. | Number.isFinite() | It returns whether the passed value is a finite number. |
3. | Number.isInteger() | It returns whether the passed value is an integer. |
4. | Number.isSafeInteger() | It determines whether the passed value is a safe integer (range between -(253 – 1) and (253-1)). |
5. | Number.parseFloat() | It is equivalent to the parseFloat() of the global object. |
6. | Numbr.pareInt() | It is equivalent to the parseInt() of the global object. |
让我们尝试详细说明ES6中引入的上述Number方法。
它确定值是否为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类型且等于有限数字,则返回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
顾名思义,它确定传递的值是否为整数。如果该值为数字且必须为整数(不带小数的数字),则返回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 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