ES6 - 数字


Number 对象表示数字日期,可以是整数或浮点数。一般来说,您不需要担心 Number 对象,因为浏览器会自动将数字文本转换为数字类的实例。

以下是创建数字对象的语法。

var val = new Number(number); 

在number的位置,如果您提供任何非数字参数,则该参数无法转换为 number 它返回 NaN (Not-a-Number)。

数字属性

先生编号 属性及描述
1 编号.EPSILON

两个可表示数字之间的最小间隔。

2 Number.MAX_SAFE_INTEGER

JavaScript 中的最大安全整数 (2 ^ 53 - 1)。

3 数量.MAX_VALUE

可表示的最大正数。

4 MIN_SAFE_INTEGER

JavaScript 中的最小安全整数 (-(2 ^ 53 - 1))。

5 数量.MIN_VALUE

可表示的最小正数 - 即最接近零的正数(实际上并不为零)

6 号码.Nan

特殊的“非数字”值

7 Number.NEGATIVE_INFINITY

代表负无穷大的特殊值;溢出时返回

8 Number.POSITIVE_INFINITY

代表无穷大的特殊值;溢出时返回

9 数字原型

代表无穷大的特殊值;溢出时返回

数字方法

先生编号 方法及说明
1 Number.isNaN()

确定传递的值是否为 NaN。

2 Number.isFinite()

确定传递的值是否是有限数。

3 Number.isInteger()

确定传递的值是否为整数。

4 Number.isSafeInteger()

确定传递的值是否是安全整数(-(253 - 1) 和 253- 1 之间的数字)

5 Number.parseFloat()

值与全局对象的parseFloat()相同

6 Number.parseInt()

值与全局对象的parseInt()相同

数字实例方法

Number 对象仅包含默认方法,这些方法是每个对象定义的一部分。

先生编号 实例方法及说明
1 toExponential()

返回以指数表示法表示数字的字符串

2 固定()

返回以定点表示法表示数字的字符串

3 toLocaleString()

返回一个字符串,其中包含该数字的语言敏感表示形式

4 toPrecision()

返回一个字符串,以定点或指数表示法表示指定精度的数字

5 toString()

返回表示指定基数(基数)中指定对象的字符串

6 的价值()

返回指定对象的原始值。

二进制和八进制文字

在 ES6 之前,当涉及整数的二进制或八进制表示时,最好的选择是将它们与基数一起传递给 parseInt() 。在 ES6 中,您可以使用 0b 和 0o 前缀分别表示二进制和八进制整数文字。同样,要表示十六进制值,请使用0x前缀。

前缀可以大写或小写。但是,建议坚持使用小写版本。

示例 - 二进制表示

console.log(0b001) 
console.log(0b010) 
console.log(0b011) 
console.log(0b100)

成功执行上述代码后将显示以下输出。

1 
2 
3 
4

示例 - 八进制表示

console.log(0o010)
console.log(0o100)

成功执行上述代码后将显示以下输出。

8
64

示例 - 十六进制表示

console.log(0x010)
console.log(0x100)

成功执行上述代码后将显示以下输出。

255
384

对象字面量扩展

ES6在对象字面量声明中引入了以下语法更改

  • 对象属性初始值设定项语法
  • 计算属性语法
  • 简洁的方法语法

对象属性初始值设定项

对象属性初始化语法中,我们可以直接使用变量初始化对象。这将创建与变量同名的属性。

<script>
   let firstName = 'Tutorials',lastName='Point'
   let company = {
      firstName,
      lastName
   }
   console.log(company)
   console.log(company.firstName)
   console.log(company.lastName)
</script>

上述代码的输出如下 -

{firstName: "Tutorials", lastName: "Point"}
Tutorials
Point

计算属性

计算属性语法中,可以从变量动态创建对象的属性。在以下示例中,使用名称后缀的变量来计算公司对象。

<script>
   let suffix = 'Name'
   let company = {
      ['first'+suffix]:'Tutorials',
      ['last'+suffix]:'Point'
   }
   console.log(company)
   console.log(company['firstName'])
   console.log(company['lastName'])
</script>

上述代码的输出如下所示 -

{firstName: "Tutorials", lastName: "Point"}
Tutorials
Point

简洁方法语法中,我们可以直接使用和声明方法,而无需使用function关键字。这是在对象字面量中包含函数的简化语法。

<script>
   let firstName = 'Tutorials',lastName='Point'
   let company = {
      firstName,
      lastName,
      getFullName(){
         return this.firstName+" - "+this.lastName
      }
   }
   console.log(company.getFullName())
   console.log(company)
</script>

上述代码的输出如下 -

Tutorials - Point
{firstName: "Tutorials", lastName: "Point", getFullName: ƒ}