Метод Function.call как обратный вызов [duplicate]

На этот вопрос уже есть ответ здесь:

Не могу использовать String # trim в качестве обратного вызова для Array # map 1 ответ

Извините, если я что-то пропустил, но когда я пытаюсь использовать метод вызова в качестве обратного вызова, это вызывает странную ошибку как в Chrome, так и в Node.js.

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

Но эти фрагменты работают:

['  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']

Также я проверил типcall функция:

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

Я делаю что-то неправильно? Может ли кто-нибудь объяснить мне, почему я получаю такую ​​ошибку? Благодарю.

Ответы на вопрос(1)

Ваш ответ на вопрос