首页 > 解决方案 > 详尽的检查在 TypeScript 中无法正常工作

问题描述

为什么 TypeScript 无法理解 if/else 处理所有可能的情况,并且想要一个子句else来处理不可能的情况?

在操场上奔跑

type State = { state: 'initial' } | 
             { state: 'prepared' } | 
             { state: 'error' }

function f(state: State): number { // Error here
  if      (state.state == 'initial')  return 1
  else if (state.state == 'error')    return 2
  else if (state.state == 'prepared') return 3
}

错误:

Function lacks ending return statement and return type 
does not include 'undefined'.

标签: typescript

解决方案


推荐阅读