title: Array.prototype.map is not a function when passing a function generated by Function.prototype.call as argument
body: <p>Sometimes I use the Array.prototype.map methode like so :</p>
  
  <pre><code>var array = ['1', '2', '3', '4'].map(parseFloat); // the result is [1, 2, 3, 4]
  </code></pre>
  
  <blockquote>
    <p><strong>parseInt</strong> takes 2 arguments it returns incorrect values in this case</p>
  </blockquote>
  
  <p>Now what I'm trying to do is instead of this code :</p>
  
  <pre><code>var  array = ['a', 'b', 'c', 'd'].map( function (item) { 
      return item.toUpperCase(); 
  }); // the result is ['A', B', 'C', 'D']
  </code></pre>
  
  <p>I tried this :</p>
  
  <pre><code>var array = ['a', 'b', 'c', 'd'].map(''.toUpperCase.call);
  </code></pre>
  
  <p>can someone explain to me why I get an error that says :</p>
  
  <blockquote>
    <p>Uncaught TypeError: ["a","b","c","d"].map is not a function</p>
  </blockquote>