title: what's the " !~" mean in javascript
body: <pre><code>(function () {
      var names = [];
      return function (name) {
          addName(name);
      }
      function addName(name) {
          if (!~names.indexOf(name))//
              names.push(name);
      console.log(names);// ["linkFly"]
      }
  }())('linkFly');
  </code></pre>
  
  <p>sometimes i have seen this logical，what is it mean ?
  thanks ~</p>