Nie można użyć funkcji String # trim jako wywołania zwrotnego mapy Array #

Z jakiegoś powodu nie mogę użyćString.prototype.trim.call jako wywołanie zwrotne dla metod tablicowych, takich jakmap lubfilter.

W tym przypadku dwie funkcje działają tak samo:

function trim(string) {
  return string.trim();
}

var string = ' A ';

trim(string);                       // 'A'
String.prototype.trim.call(string); // 'A'

Jednak gdy próbuję przekazać je jako wywołanie zwrotne dla metody tablicowej, druga nie powiedzie się:

var array = [' A', 'B ', ' C '];

array.map(trim);                       // ['A', 'B', 'C'];
array.map(String.prototype.trim.call); // TypeError: undefined is not a function

Próbny:http://jsbin.com/ubUHiHon/1/edit?js,console

W tym drugim przypadku zakładamthis nie wskazuje elementu tablicy, ale chciałbym uzyskać jasne wyjaśnienie tego, co się dzieje.

questionAnswers(1)

yourAnswerToTheQuestion