字符串转换
当需要一个字符串形式值时,就会进行字符串转换。
也可以显式转换,调用 String(待转换的值)
数值型转换
在算术运算函数和算术表达式中,自动进行 number 类型转换。
例如,乘法用于 sting 类型
"2" * "9" => 18
可以使用显示转换 Number(待转换的值)
. 如果待转换值不是有效的数字,则结果 NaN。
Number("dddd") => NaN
基本值转换为 number 时的规则:
undefined - NaN
null - 0
true - 1
false - 0
symbol - 直接报错
string 比较特殊,自动去掉首尾空白字符,若剩余空,则结果 0,否则,继续读取数字。若有非数字字符,则返回 NaN。
Number("e333") => NaN
Number("333e") => NaN
Number("333") => 333
布尔值转换
比上面的转换都简单。
也可以通过调用 Boolean(value) 显式地进行转换。
只会发生在逻辑运算中,注意,严格相等并不是逻辑运算。不要以为 null === false => false
就以为 null 在逻辑运算中不会被转换为 false
抓换规则:
false 有 5 个:0, "", undefined, NaN, null
true - 其他基本类型的值
非空字符串总是 true,
"","0","null","undefined"
都是 true。
转载请注明来源,欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达。可以在下面评论区评论。