typescript - 返回类型不包括“未定义”但 switch 是详尽的
问题描述
我不明白这个最小示例中的错误
interface List {
"A": false,
"B": false,
}
// Function lacks ending return statement and return type does not include 'undefined'.ts(2366)
// Why?
function foo<T extends keyof List>(letter: T): List[T] {
switch (letter) {
case "A":
return false
case "B":
return false
}
}
什么值可以letter
使我的函数返回未定义?
解决方案
以下应该照顾您的用例:
function foo(letter: keyof List): List[typeof letter] {
switch (letter) {
case 'A':
return false
case 'B':
return false
}
}
推荐阅读
- java - JSP 抛出空指针异常
- php - 如何在 PHP 中运行 websocket 服务器时运行计算?
- php - 有没有办法在 php/Laravel 中不提示下载文件
- css - 如何使元素前后的倾斜结尾?
- php - 配置 Codeigniter-3.1.10 以使用 mongodb
- max - SSRS(报表生成器)来自同一数据集的最小值和最大值
- php - 警告:在第 234 行遇到一个非数字值
- php - MyISAM 比赛条件 / LOCK TABLES
- javascript - 将 .json 配置传递给外部 js 以获得重力主题
- hazelcast - Hazelcast Jet 卡在启动 Job 上