2-ой параметр, переданный Array.map()
- это thisArg
, то есть:
Value to use as this when executing callback.
При стандартном JS function
, this
определяется контекстом выполнения, но вы можете изменить его, используя Function.bind()
и другие методы.
Функция стрелки this
определяется контекстом, в котором она объявлена, и, следовательно, не может быть изменена. Вот почему вы можете использовать назначенный thisArg
с функцией стрелки.
Вы можете приблизить функциональность, используя частичное применение и IIFE :
const arr = [1, 2, 3];
const result = arr.map(((m) => (n) => n + m)(5));
console.log(result);