title: The use of the triple exclamation mark
body: <p>Looking through the source code of one of our projects, I've found some amount of places where we're using three exclamation marks in conditional statements, like so:</p>
  
  <pre><code>if (!!!someVar) {
      // ...
  }
  </code></pre>
  
  <p>Now, I understand that this isn't some kind of rarely used operator, it's just three negations in a row, like <code>!(!(!someVar)))</code>. I don't understand what's the use of it - in my opinion it can safely be replaced with single exclamation mark. Following are my attempts to find a case when <code>!!!a</code> isn't equal to <code>!a</code> (taken straight from the google chrome console):  </p>
  
  <pre><code>var a = ''
  ""
  !!!a === !a
  true
  a = 'string'
  "string"
  !!!a === !a
  true
  a = null
  null
  !!!a === !a
  true
  a = 12
  12
  !!!a === !a
  true
  a = {b: 1}
  Object {b: 1}
  !!!a.c === !a.c // a.c is undefined here
  true
  a = []
  []
  !!!a === !a
  true
  a = [1,2]
  [1, 2]
  !!!a === !a
  true
  </code></pre>
  
  <p>Am I missing some rare (or obvious) case?</p>