title: Why does 2+ 40 equal 42?
body: <p>I was baffled when a colleague showed me this line of JavaScript alerting 42.</p>
  
  <p><div class="snippet" data-lang="js" data-hide="false">
  <div class="snippet-code">
  <pre class="snippet-code-js lang-js prettyprint-override"><code>alert(2+ 40);</code></pre>
  </div>
  </div>
  </p>
  
  <p>It quickly turns out that what looks like a minus sign is actually an arcane Unicode character with clearly different semantics.</p>
  
  <p>This left me wondering why that character doesn't produce a syntax error when the expression is parsed. I'd also like to know if there are more characters behaving like this.</p>