请教,这个到底属于算法还是赋值表达式
经常在源码中看到这样的形式
a = b ? c : '' ;
请教,这个到底属于算法还是赋值表达式
经常在源码中看到这样的形式
a = b ? c : '' ;
不好的写法,不过可以这样看,里面既有算法又是赋值
把b赋给a,如果b是0,则返回“d”,如果b不为0,则返回c的值
这个相当于一个判断
如果怎么就怎么。。。
当条件不满足的时候就进入另外一个操作。
相当于if..... else....
如此:可判断b必是一个布尔型值或则布尔型表达式
首先是后面的三元运算
b?c:''
也就是b为真则选择C值。b为假则选择''值
然后是为a赋值
所以a只可能是冒号前面或则后面的值
这是三元运算赋值表达式,用作赋值操作。
b ? c : ''意思是:如果b为真,返回c,否则返回'',结果即赋予a。
a=b?c:"d"
翻译结果就是 如果 a等于b则整个表达式的值为c得值否则为字符"d"