JavaScript 中的类型转换

2025 年 4 月 18 日 | 阅读 6 分钟

什么是类型转换的定义?

当一个值从一种类型转换为另一种类型时,就称为类型转换

JavaScript 中的值类型多种多样。你可以拥有数值、字符串、对象、布尔值或任何组合。为了适应特定的操作,你可能偶尔需要将数据从一种类型转换为另一种类型。我们有以下转换来实现这一点。

  1. 隐式类型转换(在代码执行期间自动执行)
  2. 显式类型转换(由开发人员完成)

注意:虽然显式类型转换也称为类型强制转换,但隐式类型转换更常被称为类型自动转换。

我们将更仔细地研究这两种转换。

隐式类型转换

这种类型的转换是自动执行的。例如,当我们使用“+”运算符时,JavaScript 会将数字转换为字符串,并将其与字符串连接起来。

在以下示例中可以看到隐式类型转换。

隐式转换为字符串

在下面的说明中,我们使用“+”运算符,它会隐式地将各种值转换为“string”数据类型

代码片段

请注意,要使用“+”运算符将值转换为字符串,则其中一个操作数必须是字符串。

让我们尝试以下示例并检查结果。

代码

输出

Type Conversion in JavaScript

转换为数字(隐式转换)

下面的示例显示了算术运算的执行方式,并且当使用除“+”运算符之外的算术运算符处理包含数字的字符串值时,操作数会自动转换为数字。此外,布尔值也会转换为数字。

代码片段

代码

输出

Type Conversion in JavaScript

布尔值隐式转换为数字

布尔转换是将表达式转换为布尔值的过程。

代码

输出

Type Conversion in JavaScript

隐式将 null 转换为数字

当 null 在数字上下文(如比较或算术运算)中隐式使用时,它会被转换为数字 0。在数字上下文中,涉及 null 的操作将保证具有可预测的行为。

代码片段

代码

输出

Type Conversion in JavaScript

undefined 与 Number 和 Boolean(隐式转换)

当 undefined 与“number”或“Boolean”值一起使用时,结果始终是 NaN,表示不是数字

代码

输出

Type Conversion in JavaScript

显式类型转换

程序员经常需要手动更改变量的数据类型。这称为显式类型转换。

您可以通过使用构造函数或内置函数来更改 JavaScript 中变量的类型。

显式转换:转换为字符串

可以使用String() 构造函数将布尔值、数字和其他数据类型转换为字符串。

代码片段

示例 1

要将值转换为字符串,请使用String() 构造函数。您还可以使用typeof 运算符来确定结果值的类型。

代码

输出

Type Conversion in JavaScript

示例 2

我们可以使用 Number 对象上的toString() 方法,该方法将数字转换为字符串。

代码

输出

Type Conversion in JavaScript

显式转换为布尔值

这包括使用Boolean() 函数将值显式转换为布尔类型。它通过确保值被解释为true 或 false 来促进布尔运算和逻辑。

代码片段

示例

可以使用Boolean() 构造函数将值重新转换为布尔值。所有其他值都转换为 true,而所有 false 值(如 0、空字符串、null、undefined 等)都转换为 false。

代码

输出

Type Conversion in JavaScript

日期转换为字符串/数字

可以使用getTime() 方法或 Date 对象的 Number() 构造函数将日期字符串转换为数字。数字日期提供总毫秒数。

要将日期转换为数字,请使用以下语法。

可以使用 toString() 方法或 String() 构造函数将日期转换为字符串。

要将日期转换为字符串,请使用以下语法。

让我们尝试使用程序来说明这一点。

代码

输出

Type Conversion in JavaScript

根据上面的输出,字符串格式的日期将提供当前日期和时间

使用 parseFloat() 方法

为了将字符串转换为浮点数,我们使用了 JavaScript 内置函数parseFloat。如果字符串不包含任何数字值,或者字符串的第一个字符不是数字,则该字符串返回 NaN(非数字)。

代码

输出

Type Conversion in JavaScript

结论

在 JavaScript 中,类型转换是指根据需要更改数据类型,以便函数能够正常执行。与开发人员手动执行的显式类型转换相反,隐式转换会自动更改值。

显式转换是根据我们想要的给定函数来修改数据类型的关键因素。