javascript类型转换
1、字符串转换
alert函数,比如alert(value) 会自动将value转换成String类型 然后进行显示
我们也可以显示的进行转换:
let value = true; alert(typeof value); // boolean value = String(value); // 现在值是字符串形式的 "true" alert(typeof value); // string
2、数字转换
在算术函数和表达式中,会自动进行number类型转换
alert( "6" / "2" ); // 3, string 类型的值被自动转换成 number 类型后进行计算
我们也可以用Number(value)进行显式转换:
let str = "123"; alert(typeof str); // string let num = Number(str); // 变成 number 类型 123 alert(typeof num); // number
如果字符串中不是一个有效的数值,转换的结果会是NaN
let age = Number("an arbitrary string instead of a number"); alert(age); // NaN,转换失败
alert(typeof age); // numbe
值 | 变成…… |
---|---|
undefined |
NaN |
null |
0 |
true 和 false |
1 and 0 |
string |
去掉首尾空格后的纯数字字符串中含有的数字。如果剩余字符串为空,则转换结果为 0 。否则,将会从剩余字符串中“读取”数字。当类型转换出现 error 时返回 NaN 。 |
3、布尔转换
转换规则如下:
- 直观上为“空”的值(如
0
、空字符串、null
、undefined
和NaN
)将变为false
。 - 其他值变成
true
alert( Boolean(1) ); // true alert( Boolean(0) ); // false alert( Boolean("hello") ); // true alert( Boolean("") ); // false