打字稿:使用类型声明强制进行空检查?
Posted
技术标签:
【中文标题】打字稿:使用类型声明强制进行空检查?【英文标题】:Typescript: use type declaration to force a null-check? 【发布时间】:2020-12-25 03:21:34 【问题描述】:我知道你可以在 typescript 中声明 type as nullable
但这并不强制用户进行空检查,例如
function maybeReturnString(): string | null ...
function getOnlyString(str: string) ...
const maybeString = maybeReturnString();
getOnlyString(maybeString) // OK
如果我不检查 null,使构建失败的正确方法是什么?
有没有类似于 Scala 中的 Option[String]
或 Kotlin 中的 String?
的东西?
【问题讨论】:
【参考方案1】:我不确定您正在运行哪个版本的 TypeScript,但这肯定会引发编译时错误,如 playground 中所示(使用您自己的代码)。
要回答您的其他问题,您还可以使用与string | undefined
等效的string?
语法。
【讨论】:
奇怪,检查【参考方案2】:我的问题是我没有设置配置strictNullChecks=true
【讨论】:
以上是关于打字稿:使用类型声明强制进行空检查?的主要内容,如果未能解决你的问题,请参考以下文章