返回

用 JavaScript 更好地理解 Number 数据类型

前端

Number 是一种数据类型,用于表示数字,由原始值和包装对象组成。原始值是数字本身,如 1、2.5、-3.14 等;包装对象则是一个封装了原始值的对象,如 new Number(1)。

数字类型转换

JavaScript 中提供了多种方式来转换数据类型,包括显式转换和隐式转换。

  • 显式转换:使用 Number() 函数或 parseInt() 和 parseFloat() 函数显式地将其他类型的数据转换为数字。
  • 隐式转换:当不同类型的数据一起参与运算时,JavaScript 会自动将其中一个或多个数据转换为与另一个数据相同的类型。例如,当字符串与数字相加时,字符串会被转换为数字。

精确度与舍入

JavaScript 中的数字使用 IEEE 754 标准表示,该标准定义了二进制浮点数的格式和运算规则。浮点数在计算机中是以二进制形式存储的,因此存在精度限制。当浮点数进行运算时,可能会出现舍入误差,导致结果与预期值略有偏差。

整数与浮点数

整数是没有小数部分的数字,如 1、2、-3 等。浮点数是有小数部分的数字,如 1.23、-2.567 等。JavaScript 中,整数和浮点数都使用 Number 类型表示。

特殊值(NaN 和 Infinity)

JavaScript 中提供了两个特殊值:NaN 和 Infinity。

  • NaN 表示非数字值,通常是由于无效的数字操作引起的,例如 0/0。
  • Infinity 表示无限大或无限小,通常是由于数字溢出或下溢引起的,例如 1e1000。

比较运算符

JavaScript 提供了六个比较运算符:

  • ==:相等运算符,比较两个值是否相等。
  • !=:不等运算符,比较两个值是否不等。
  • ===:严格相等运算符,比较两个值是否相等,且类型必须相同。
  • !==:严格不等运算符,比较两个值是否不等,且类型必须不同。
  • :大于运算符,比较左边的值是否大于右边的值。

  • <:小于运算符,比较左边的值是否小于右边的值。

算术运算符

JavaScript 提供了五个算术运算符:

  • +:加法运算符,将两个数字相加。
  • -:减法运算符,将两个数字相减。
  • *:乘法运算符,将两个数字相乘。
  • /:除法运算符,将一个数字除以另一个数字。
  • %:取模运算符,返回两个数字相除的余数。

位运算符

JavaScript 提供了六个位运算符:

  • &:按位与运算符,将两个数字的二进制位逐位相与。
  • |:按位或运算符,将两个数字的二进制位逐位相或。
  • ^:按位异或运算符,将两个数字的二进制位逐位相异或。
  • <<:按位左移运算符,将一个数字的二进制位向左移动指定位数。
  • :按位右移运算符,将一个数字的二进制位向右移动指定位数。

  • :按位无符号右移运算符,将一个数字的二进制位向右移动指定位数,不会保留符号位。

掌握 JavaScript 中的 Number 类型及其特性,您将能够轻松地处理数字数据,进行数值计算,并构建更加可靠和高效的应用程序。