title: Why would anyone use !! in javascript?
body: <pre><code>// options
  if (options) {
    this.deep = !!options.deep
    this.user = !!options.user
    this.lazy = !!options.lazy
    this.sync = !!options.sync
  } else {
    this.deep = this.user = this.lazy = this.sync = false
  }
  </code></pre>
  
  <p>While i was trying to understand vue.js Watcher i saw this syntax <code>!!options.deep</code> <a href="https://github.com/vuejs/vue/blob/2ee516dfc8c72cf48ca7c77863216d93de0b30eb/src/core/observer/watcher.js#L47" rel="nofollow noreferrer">here</a> i totally understand what <code>!</code> means, but why would anyone want to use <code>!!true</code> because it will give you <code>true</code> again.</p>
  
  <p>Thanks</p>