JavaScript类型转换分三种:转字符串(如String(123)→"123")、转数字(如Number("123")→123)、转布尔值(如Boolean(0)→false);隐式转换发生在运算中,如"6"-2→4,[]+{}→"[object Object]";核心原则是拼接转字符串、数学运算转数字、条件判断看真假值。

JavaScript 的类型转换主要分为三种:转为字符串、转为数字、转为布尔值。这些转换在运算或判断中会自动发生(隐式转换),也可以手动进行(显式转换)。理解其规则有助于避免常见的逻辑错误。
转为字符串
当 JavaScript 需要将非字符串类型当作字符串使用时,会触发字符串转换。
显式转换:
- 使用
String()函数:如String(123)得到"123" - 调用
.toString()方法:如(true).toString()得到"true"
隐式转换:
立即学习“Java免费学习笔记(深入)”;
- 使用
+运算符连接字符串:如"num: " + 42→"num: 42" - 注意:
null + "str"得到"nullstr",因为null被转为字符串"null"
转为数字
在数学运算中,非数字类型会被尝试转换为数字。
显式转换:
- 使用
Number():如Number("123")→123,Number("")→0,Number("abc")→NaN - 使用一元加号:
+"456"→456 -
parseInt()和parseFloat():用于解析字符串中的数字
隐式转换常见场景:
系统采用VS2008+Sql2005开发适用于中小型的酒店管理,全部采用三层架构,ASP.NET开发,运用CSS加DIV的界面布局,完整的源代码和数据库设计,是你不可多得的参考资料。 有客房管理、房间类型管理、入住和退房管理等简单功能HotelManager为网站目录DB_51aspx下为Sql2005数据库,附加即可(Sql2000格式数据库转换后稍后发布)
- 数学运算:
"6" - "2"→4(字符串被转为数字) - 比较操作:
"5" > 3→ 先将"5"转为5,结果为true -
null转为数字是0,undefined转为数字是NaN - 布尔值:
true→1,false→0
转为布尔值
在条件判断(如 if、while)或逻辑运算中,任何值都会被转换为布尔值。
以下值被视为“假值”(falsy):
false-
0、-0、0n(BigInt 零) -
""(空字符串) -
null、undefined NaN
其余所有值都是“真值”(truthy)。
显式转换: 使用 Boolean() 或双感叹号:!!"hello" → true
对象的转换规则
对象(包括数组)在转换时比较特殊,会先调用其内部方法转为原始值。
- 默认先尝试调用
valueOf(),如果返回原始值就使用它 - 否则调用
toString() - 例如:
[] + []→ 空字符串拼接,结果是"" -
[] + {}→"[object Object]"(因为数组转为空字符串,对象转为字符串) -
{}在表达式中的行为可能受上下文影响(如在控制台中可能被当作代码块)
基本上就这些。掌握核心原则:字符串拼接优先转字符串,数学运算优先转数字,判断条件看真假值。不复杂但容易忽略细节。










