title: What is the Dart null checking idiom or best practice?
body: <p>I have the following form of assignment &amp; null checks to avoid double lookups in my maps.<br>
  Is there a better or more idiomatic way to do this in Dart?</p>
  
  <pre class="lang-dart prettyprint-override"><code>bool isConnected(a, b){
    List list;
    return (
      ((list = outgoing[a]) != null &amp;&amp; list.contains(b)) ||
      ((list = incoming[a]) != null &amp;&amp; list.contains(b))
    );
  }
  </code></pre>