Оператор запятой в Typescript

#typescript

#typescript

Вопрос:

Из MDN:

Оператор запятой вычисляет каждый из своих операндов (слева направо) и возвращает значение последнего операнда.

Итак, чтобы попробовать это, я преобразовал эту функцию со стрелкой

 const pushToArray = (a: FormArray, f: FormGroup) => {
   a.push(f)
   return a
}
  

Для

 const pushToArray = (a: FormArray, f: FormGroup) => { a.push(f), a }
  

Однако, похоже, это не работает, поскольку

TS2345 — Аргумент типа (a: FormArray, f: FormGroup) => void неприменим …

Почему эта функция возвращает void сейчас?
Возможно, я неправильно понял часть, в которой вычисляется каждый из его операндов.

Ответ №1:

С помощью фигурных скобок вы объявляете тело метода. Поскольку у вас там нет return инструкции, тип выводится как void ; отсюда и ваша ошибка.

Вместо этого используйте круглые скобки:

 const pushToArray = (a: FormArray, f: FormGroup) => (a.push(f), a)