为什么新的String * 1在Javascript中返回0?

前端之家收集整理的这篇文章主要介绍了为什么新的String * 1在Javascript中返回0?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
JavaScript中,为什么:
new String * 1
<- 0

究竟是什么让它返回0,为什么以下等于NaN?

function Foo() { this.bar = 0; }
new Foo * 5;
<- NaN

解决方法

如果使用像*这样的算术运算符,JavaScript会尝试将类型转换为数字.空字符串变为0.

如果你有,例如:

new String("foo") * 1

您会注意到它返回NaN,因为无法完成到数字的转换.这就是你的第二种情况.

原文链接:https://www.f2er.com/js/155523.html

猜你在找的JavaScript相关文章