Почему TypeScript сужает тип даже после того, как он изменился [Double]Javascript

Форум по Javascript
Ответить
Anonymous
 Почему TypeScript сужает тип даже после того, как он изменился [Double]

Сообщение Anonymous »

У меня есть простая игра со статусом, которая говорит мне, идет ли игра или нет. Как тип gameStatus = "running" | "выиграл"; Если в моей основной функции я проверяю, если статус «выигран», а затем вернуть, то TypeScript должным образом Infert, что после, статус может быть только «запущен». Но если я вызову функцию, изменяя статус, TypeScript по -прежнему считает, что статус только «работает» даже после того, как она изменилась. Почему это? Только если я изменяю статус в теле функции, а не на вызов функции, TypeScript признает, что значение статуса изменилось. Почему это поведение? Есть ли какая -то конфигурация, которая может быть изменена или, может быть, другой способ объявить об этом, чтобы TypeScript могла правильно сделать тип?

Подробнее здесь: https://stackoverflow.com/questions/796 ... ged-double
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Javascript»