JavaScript +new Array(017)

这篇博客讨论了JavaScript笔试题中关于`new Array(017)`的问题,揭示了在JavaScript中,当运算符作为二元运算符时,会进行数字相加或字符串连接,而作为一元运算符时则会将参数转换为数字。文中提到了输出结果以及类似的运算符行为,并引用了ECMAScript 2016规范作为参考。
摘要由CSDN通过智能技术生成

问题

某龙的笔试题,问console.log(+new Array(017));输出什么

第一反应是考察new Array()跟017

其实考察的是+

+运算符作为二元运算符时,有两个功能

  • 数字相加
  • 连接字符串

数字相加没啥好说的,连接字符串时,会先把两个参数都转换成字符串再进行连接。

+作为一元运算符时,会将参数转换为数字返回

结果

所以console.log(+new Array(017));输出的是NaN

其他

类似的还有-运算符,输出一个转换后的负数

附上一些其他的输出

console.log(+new Array());
//0
console.log(+new Array(0));
//0
console.log(+new 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值