类型转换 - JavaScript 基础

  1. 字符串转换
  2. 数值型转换
  3. 布尔值转换

字符串转换

当需要一个字符串形式值时,就会进行字符串转换。
也可以显式转换,调用 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。


转载请注明来源,欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达。可以在下面评论区评论。
我的空间