以下哪些语句触发了隐式的类型转换?

A
parseInt(12.34, 10)

B
0 ? 1 : 2

C
2e1 * 0xaa

D
1 + '1'

正确答案:ABD

parseInt() 函数可解析一个字符串,并返回一个整数。
所以说,number类型的12.34发生隐式转换为string。

三元运算符,会判断?前的表达式为true或者false。所以number类型的0发生了隐式转换为boolean。

+运算发生了字符串的隐式转化。原本number类型的1,和string类型的'1'进行了+运算,连接了字符串。返回'11'。

C选项:
e是js里面指数的一种表示形式。也就是10的多少次方。
2e1 等价于 2 *(10^1) = 20
2e2 等价于 2 (10^2)= 200
0xaa是16进制的表示方法。相当于十进制的170。
这里都是number类型,发生了数字的乘法运算:20
170,没有发生类型转换。

parseInt()接受的第一个参数是字符串,当接受的是数字的时候先转为字符串(这里就发生了隐式转换),在进行解析。

posted @ 2023-11-10 15:29  龙陌  阅读(38)  评论(0)    收藏  举报