JavaScript 类型转换
Number() 转换为数字, String() 转换为字符串, Boolean() 转化为布尔值。
在 JavaScript 中有 5 种不同的数据类型:
- string
- number
- boolean
- object
- function
3 种对象类型:
- Object
- Date
- Array
2 个不包含任何值的数据类型:
- null
- undefined
typeof 操作符:
使用 typeof 操作符来查看 JavaScript 变量的数据类型。
将数字转换为字符串:
全局方法 String() 可以将数字转换为字符串;
String(x) // 将变量 x 转换为字符串并返回
String(123) // 将数字 123 转换为字符串并返回
String(100 + 23) // 将数字表达式转换为字符串并返回
Number 方法 toString() 也是有同样的效果:
x.toString()
(123).toString()
(100 + 23).toString()
将布尔值转化为字符串:
全局方法 String() 可以将布尔值转换为字符串:
String(false) // 返回 "false"
String(true) // 返回 "true"
Boolean 方法 toString() 也有相同的效果:
false.toString() // 返回 "false"
true.toString() // 返回 "true"
将日期转化为字符串:
全局方法 String() 可以将日期转换为字符串:
String(Date()) // 返回 Thu Jul 17 2014 15:38:19 GMT+0200 (W. Europe Daylight Time)
Date 方法 toString() 也有相同的效果:
Date().toString() // 返回 Thu Jul 17 2014 15:38:19 GMT+0200 (W. Europe Daylight Time)
将字符串转化为数字:
全局方法 Number() 可以将字符串转换为数字:
字符串包含数字(如 "3.14") 转换为数字 (如 3.14);
空字符串转换为 0;
其他的字符串会转换为 NaN (不是个数字);
Number("3.14") // 返回 3.14
Number(" ") // 返回 0
Number("") // 返回 0
Number("99 88") // 返回 NaN
将布尔值转换为数字:
全局方法 Number() 可将布尔值转换为数字:
Number(false) // 返回 0
Number(true) // 返回 1
将日期转换为数字:
全局方法 Number() 可将日期转换为数字:
d = new Date();
Number(d) // 返回 1404568027739
日期方法 getTime() 也有相同的效果:
d = new Date();
d.getTime() // 返回 1404568027739
自动转换类型Type Conversion:
当 JavaScript 尝试操作一个 "错误" 的数据类型时,会自动转换为 "正确" 的数据类型:
以下输出结果不是所期望的:
"5" + null // 返回"5null" because null is converted to "null"
"5" + 1 // 返回 "51" because 1 is converted to "1"
"5" - 1 // 返回 4 because "5" is converted to 5