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