发布于 2020-05-19
强制类型转换
javascript
隐式类型转换
布尔值
以下值会被转换为 false:
- undefined, null
- false
- -0,+0,NaN
- ''
其他值都将被转换成true。
字符串
字符串的隐式类型转换是指,当一个值被赋值给一个字符串类型的变量时,会被转换成一个字符串。例如:加号(+)符号会被转换成字符串,因此,1 + 2 会被转换成 '1+2'。
var x = '5'
x + 1 // '51'对象
只有在需要用到数字或者字符串的时候,对象才会被转换。
当需要将对象转换成数字或者字符串时,会调用对象的 valueOf() 方法。具体步骤如下:
- 调用
valueOf()方法,如果返回值是一个数字,则直接返回该数字。 - 否则,调用
toString()方法,如果返回值是一个字符串,则直接返回该字符串。 - 否则,抛出一个
TypeError异常。
