JavaScript 数据类型转换规则

JavaScript 是一种 无类型语言:在 声明变量 时无须指定数据类型。

在代码执行过程中,JavaScript 会根据需要自动进行数据类型转换。例如,如果在程序期望使用字符串的地方使用了数字,JavaScript 会自动将数字转换为字符串。

自动进行数据类型转换时遵循以下规则:

转换为数值型数据
类型转换后的结果
undefinedNaN
null0
逻辑型true = 1/false = 0
字符串型若内容为数字,则结果为相应的数字,否则为 NaN。
其他对象NaN
转换为逻辑型数据
类型转换后的结果
undefinedfalse
nullfalse
数值型0、NaN = false/非 0、非 NaN = true
字符串型长度为 0 = false/长度非 0 = true
其他对象true
转换为字符串型数据
类型转换后的结果
undefined"undefined"
null"NaN"
数值型NaN、0 或者与数值相对应的字符串
逻辑型true = "true"/false = "false"
其他对象若存在,其结果为 toString() 方法的值;否则其结果为 "undefined"

说明:

  • 每一个 基本数据类型 都存在一个相应的对象,这些对应提供了一些很有用的 方法 来处理基本数据。在需要时,JavaScript 会自动将 基本数据类型 转换为与其相对应的 对象。
						
<script type="text/javascript">
  var myStr = "HELLO WORLD!";
  var lower = myStr.toLowerCase();       //=> "hello world!"
</script>