[如何使用短路和foo() || bar()
运算符来模拟foo() && bar()
和?:
?
我是一名学生,从未使用过?:
运算符,并且想尝试。经过一番谷歌搜索后,我发现它本质上是:
Condition ? (things to do if true) : (things to do if false);
[如果不使用&&
和||
,是否可以实现?我正在尝试解决短路问题,因为我对此非常陌生,并且即将到来的决赛!
假设foo()
和bar()
都返回boolean
,则
foo() || bar()
与]相同>
foo() ? true : bar();
因为首先评估
foo()
,并且仅当bar()
为假时才需要评估foo()
。>>类似,
foo() && bar()
与]相同>
foo() ? bar() : false;
首先评估[
foo()
,并且仅当bar()
为真时才需要评估foo()
。