title: Can't use String.prototype.match as function for Array.some?
body: <p>This doesn't work:</p>
  
  <pre><code>var s = '^foo';
  console.log(['boot', 'foot'].some(s.match));
  
  Uncaught TypeError: String.prototype.match called on null or undefined
  </code></pre>
  
  <p>But this does:</p>
  
  <pre><code>var s = '^foo';
  console.log(['boot', 'foot'].some(function(i) { return i.match(s) }));
  </code></pre>
  
  <p>Why is this? I imagine somehow the <code>String.prototype.match</code> function is too "primitive" or something, but why exactly? Since I'm not using ES2015, the second version seems quite verbose. Is there an alternative?</p>
  
  <p>EDIT</p>
  
  <p>When I wrote the above, I actually got it backwards compared to my actual need, which was matching one string against a number of regexes. But thanks to the great answers and comments below, I get it: <code>[/^foo/, /^boo/].some(''.match, 'boot')</code>.</p>