抱歉打扰了想问短路表达式的疑问let a= b || c;
javascript吧
全部回复
仅看楼主
level 1
tim6511
楼主
抱歉打扰了
想问短路表达式的疑问
let a= b || c;
和
let a=+b || c;
差在哪?
为什么b和c都有值的时候,上面a=b,下面则是a=c
2020年04月18日 12点04分
1
level 12
丶影-奈斯
这要看b的值是什么 还有对一元运算符+的理解 也就是+b 会隐式转成合法数字 失败的话就是NaN 还有就是|| 逻辑或的认知
比方说
b = true; 上面那个返回的就是 true也就是b 下面的就是1也就是 +b
如果 b = "javascript"; 那么上面就是"javascript" 下面的因为+b的原因会转成NaN(转数字失败了) 再加上逻辑或||返回的是c
2020年04月18日 13点04分
2
tim6511
谢谢你,这样我就清楚原因了 忘记+号放前是转换
2020年04月18日 13点04分
丶影-奈斯
@tim6511
漏写了成功 不过楼主知道原因就好了
2020年04月18日 13点04分
1