面试题答案
一键面试'5' + 2
- 结果:
'52'
- 类型转换规则:在JavaScript中,当
+
运算符两边有一个操作数是字符串时,会将另一个操作数转换为字符串,然后进行字符串拼接。这里数字2
被转换为字符串'2'
,再与'5'
拼接得到'52'
。
- 结果:
'5' - 2
- 结果:
3
- 类型转换规则:当
-
运算符出现时,JavaScript会尝试将两边的操作数都转换为数字类型。字符串'5'
被转换为数字5
,然后进行减法运算5 - 2
,结果为3
。如果字符串不能被转换为有效的数字(例如'abc'
),则会被转换为NaN
,整个运算结果也为NaN
。
- 结果:
Boolean('')
- 结果:
false
- 类型转换规则:在JavaScript中,空字符串(
''
)、0
、null
、undefined
、NaN
在转换为布尔值时都为false
,其他值(包括非空字符串、非零数字等)转换为布尔值时为true
。所以空字符串''
转换为布尔值是false
。
- 结果:
Number('5px')
- 结果:
NaN
- 类型转换规则:
Number()
函数尝试将字符串转换为数字。如果字符串以数字开头且不包含非数字字符(除了可能的正负号、小数点),则可以成功转换。但这里的字符串'5px'
包含非数字字符'px'
,所以无法转换为有效的数字,结果为NaN
(Not a Number)。
- 结果: