JavaScript +new Array(017)
问题
某龙的笔试题,问console.log(+new Array(017));
输出什么
第一反应是考察new Array()跟017
其实考察的是+
+
运算符作为二元运算符时,有两个功能
- 数字相加
- 连接字符串
数字相加没啥好说的,连接字符串时,会先把两个参数都转换成字符串再进行连接。
+
作为一元运算符时,会将参数转换为数字返回
结果
所以console.log(+new Array(017));
输出的是NaN
其他
类似的还有-
运算符,输出一个转换后的负数
附上一些其他的输出
1 | console.log(+new Array()); |