JavaScript 中存在两种类型转换:隐式类型转换(自动类型转换)和显式类型转换(强制类型转换)。

1. 隐式类型转换(自动类型转换):

在某些情况下,JavaScript 会自动进行类型转换,将一个数据类型转换为另一个数据类型。这种转换是由 JavaScript 引擎自动处理的,而不需要显式的代码来完成。
var num = 5;        // 数字
var str = "Hello";  // 字符串

var result = num + str;  // 隐式转换,数字转换为字符串
console.log(result);     // 输出 "5Hello"

在这个例子中,num 是一个数字,str 是一个字符串,它们在相加时发生了隐式类型转换,将数字转换为字符串,然后进行字符串拼接。

2. 显式类型转换(强制类型转换):

开发者可以通过一些内置的函数或操作符来显式地将一个数据类型转换为另一个数据类型。

转换为字符串:

  •  String() 函数:
  var num = 123;
  var str = String(num);  // 使用 String() 函数将数字转换为字符串

  •  拼接空字符串:
  var num = 456;
  var str = num + "";  // 将数字与空字符串相加,得到字符串

转换为数字:

  •  parseInt() 和 parseFloat() 函数:
  var str = "123";
  var num = parseInt(str);  // 使用 parseInt() 将字符串转换为整数

  •  Number() 函数:
  var str = "456";
  var num = Number(str);  // 使用 Number() 将字符串转换为数字

转换为布尔值:

  •  Boolean() 函数:
  var num = 0;
  var bool = Boolean(num);  // 使用 Boolean() 将数字转换为布尔值

  •  使用双感叹号 !!:
  var str = "Hello";
  var bool = !!str;  // 使用双感叹号将字符串转换为布尔值

这些是一些常见的显式类型转换的方式。在进行类型转换时,需要注意转换的方向和可能的精度损失。不同类型之间的转换可能导致意外的结果,因此在进行类型转换时应谨慎操作。


转载请注明出处:http://www.pingtaimeng.com/article/detail/3531/JavaScript