title: Can someone explain this 'double negative' trick?
body: <p>I am by no means an expert at Javascript, but I have been reading Mark Pilgrim's <a href="http://diveintohtml5.info/" rel="noreferrer">"Dive into HTML5"</a> webpage and he mentioned something that I would like a better understanding of.</p>
  
  <p>He states:</p>
  
  <blockquote>
    <p>Finally, you use the double-negative trick to force the result to a Boolean value (true or false).</p>
  </blockquote>
  
  <pre><code>function supports_canvas() {
    return !!document.createElement('canvas').getContext;
  }
  </code></pre>
  
  <p>If anyone can explain this a little better I would appreciate it!</p>