Функция стрелки Javascript с картой - PullRequest
0 голосов
/ 12 мая 2018

Я хотел бы глубоко понять, почему это работает [0, 1, 2].map(i => i + 1) но это не [0, 1, 2].map(i => {i + 1})

У меня была эта проблема, когда я работал над сценарием jQuery. Я попытался использовать карту с функцией стрелки, чтобы извлечь $(this).data('id') из флажков, и мы получили массив неопределенных. Примерно через час, по счастливой случайности, мы скопировали, вставили некоторый код стека и заметили, что единственная разница была function() {}, так что теперь я задаюсь вопросом, почему? Разве плохо использовать функции стрелок? это не совместимо?

Для записи я использую Google Chrome версии 66

Ответы [ 2 ]

0 голосов
/ 12 мая 2018

Есть пара синтаксисов для функций стрелок https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Functions/Arrow_functions

Первый из них подразумевает возврат значения выражения. Синтаксис с {...} не имеет, поэтому вам нужно указать его явно.

0 голосов
/ 12 мая 2018

Разница в синтаксисе функции стрелки ES6.Добавьте «возврат», и вы получите ответ [ 1, 2, 3 ]

[0, 1, 2].map(i => {return i + 1})

Ссылка: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Functions/Arrow_functions

Спасибо

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...