TypeScript 中文字类型的实际用例是什么?

问题描述

我正在学习文字类型,并且我正在努力为它们找到许多现实生活中的用例。我唯一能想到的是它们用于对可区分联合进行建模。

问题是,大多数时候,我的程序使用变量而不是文字,这使得文字类型不像我在网上看到的示例中显示的那样有用。

例如,用于解释文字类型的代码可以采用以下形式:

declare function delete(confirmation: "yes" | "no")

但问题是,在现实生活中,确认会首先被解析并存储在变量中,这将使其无法在调用 delete 函数时使用

let dodelete = ... // sets this based on computation to "yes" or "no" or just anything
delete(dodelete) // nope does not work

dodelete 可能不会直接在代码中设置,而是来自使用输入或服务器请求。

我认为这会使文字类型在呈现时不太可用,或者我可能遗漏了其他用例?

除了对可区分联合进行建模之外,有人知道文字类型的其他用例吗?

解决方法

我使用文字类型来提示使用此方法的人在这些值之间进行选择而不是设置特定类型。

检查下面的图片。

enter image description here