Javascript中有短路控制流的例子吗?



http://en.wikipedia.org/wiki/Short-circuit_evaluation表示"短路运算符实际上是控制结构",http://en.wikipedia.org/wiki/Perl_language_structure#Control_structures表示"短路逻辑运算符通常用于影响表达式级别的控制流",直接从后者获得的伪代码示例为:

expr && expr

我在《Minimal Perl》这本书中看到了上面推荐的东西。那么为什么不使用Javascript呢?昨天我写了如下内容:

myModule && myModule.myMethod(); //instead of if (myModule) myModule.myMethod();

有没有人知道在Javascript中使用这种习惯用法的其他例子,可能来自开源框架?它的缺点是什么,如果有的话(除此之外,"有人可能不理解它")?

myModule && myModule.myMethod()在JavaScript中工作。但自从ECMAScript 2020以来,有了更好的东西:可选链接(?.):

myModule?.myMethod()

在React中,条件渲染可以与逻辑&&操作符,请参阅https://reactjs.org/docs/conditional-rendering.html#inline-if-with-logical--operator下面是相关的代码片段(我的内联观察并不是严格意义上的,检查长度对于示例来说是最小和最容易理解的):

  return (
    // Don't directly check length, instead 
    // consider a more flexible "shouldRender" method
    <div>
      <h1>Hello!</h1>
      {unreadMessages.length > 0 &&
        <h2>
          You have {unreadMessages.length} unread messages.
        </h2>
      }
    </div>
  );

相关内容

  • 没有找到相关文章

最新更新