Функции стрелок можно записать двумя способами:
(params) => expression
или
(params) => {
body
}
где body
аналогично телу традиционной функции (последовательность операторов).
Когда вы используете первый формат, вы не можете иметь ;
, потому что это недопустимо в выражении, оно используется для завершения операторов в теле функции. По той же причине, по которой вы не можете написать:
console.log(a;)
Первая форма сокращена для:
(params) => {
return expression;
}
Правильное правило для того, что является допустимым выражением, заключается в том, что это то же самое, что может идти в скобках. Так что, если вы можете написать что-то вроде:
a = (something)
тогда можно написать:
(params) => something
Так как вы не можете написать:
a = (`${this.name} is friends with ${el}`;)
Вы не можете написать:
(params) => `${this.name} is friends with ${el}`;