@zlodiak

Почему тело функции записано в круглых скобках вместо фигурных?

Есть простейшая игра, которая имеет состояние (state), которое периодически передаётся в оператор scan() и в нём изменяется:

interval(15)
  .pipe(
    withLatestFrom(keyboardEvents$),
    scan(updateGame, initialGame),
    tap(paintGame),
    takeWhile(isGameOn),
    finalize(paintGameOver)
  )
  .subscribe();

const updateGame = (state: State, [_, key]: [number, string]): State => (
  state.enemies = newEnemiesFrom(state),
  state.player = newPlayerFrom(state, key),
  state = intersect(state),
  state = movePlayer(state, key),
  state.key = key,
  state
);

Полный код с live example тут.

Мне непонятно почему функция updateGame имеет следующую форму:

(accumulateState, newState) => (
	// some actions
)

На мой взгляд, она должна записываться через фигурные скобки так:

(accumulateState, newState) => {
	// some actions
}

Почему тело функции помещено не в фигурные скобки, а в круглые?
  • Вопрос задан
  • 247 просмотров
Решения вопроса 1
0xD34F
@0xD34F Куратор тега JavaScript
Очевидно, потому что так захотел автор кода.

Можете заменить круглые скобки фигурными, запятые на концах строк заменить точками с запятыми, перед последним выражением добавить return - код обретёт привычный вам вид.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы