Я столкнулся с проблемой, которую не могу понять. Поэтому я создал новую функцию, которая содержит несколько функций. Это мой код:
(() => {
function BetterArray(array) {
this.array = array;
}
BetterArray.prototype.map = function (fn) {
return Array.prototype.map.call(this.array, fn);
};
BetterArray.prototype.collect = function (fn) {
return Array.prototype.map.call(this.array, fn);
};
const a = new BetterArray([1])
.map((item) => item * 2)
.collect((item) => item * 2);
console.log(a);
})();
В строке "collect" я получил ошибку Uncaught TypeError: (промежуточное значение) .map (...). Collect не является функцией . Мне просто любопытно, почему появляется эта ошибка и как я могу правильно написать этот код, чтобы избежать этого. Кроме того, когда я меняю map на collect - я не получаю эту ошибку.
Я знаю, что обе функции одинаковы, но я хочу быть уверен, что они не основаны на теле функции.
Спасибо за ваше время!