Método Function.call como retorno de chamada [duplicado]

Esta pergunta já tem uma resposta aqui:

Não é possível usar String # trim como um retorno de chamada para o array # map 1 resposta

Com licença, se algo está faltando, mas quando tento usar o método de chamada como retorno de chamada, isso gera um erro estranho no Chrome e no Node.js.

['  foo', ' bar  '].map(String.prototype.trim.call);
TypeError: ["  foo", " bar  "].map is not a function
at Array.map (native)

Mas esses trechos funcionam:

['  foo', ' bar  '].map(function (item) { 
    return String.prototype.trim.call(item);
}); // => ['foo', 'bar']
/*
  and ES2015
*/
['  foo', ' bar  '].map(function () { 
    return String.prototype.trim.call(...arguments);
}); // => ['foo', 'bar']

Também verifiquei o tipo decall função:

typeof String.prototype.trim.call; // => 'function'

Estou fazendo algo errado? Alguém poderia me explicar por que eu recebo esse erro? Obrigado.

questionAnswers(1)

yourAnswerToTheQuestion