三元运算的问题

if(thisname && thisname!==null){  
thisname=thisname;
 }    
else{
thisname=i; 
}

改写成:

(thisname && thisname!==null) ? thisname : i;

用if正常, 用三元运算,就出错了。 请问为什么?

阅读 2.4k
3 个回答
thisname=(thisname && thisname!==null) ? thisname : i;

这代码。。。

看代码啊:thisname 为真,并且thisname不等于Null。
这句中thisname如果为null,肯定为假。

如果要我改:

thisname  = thisname || i;

thisname = 2
2
(thisname && thisname!==null) ? thisname : i;
2

chrome 没问题

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题