问题描述
我正在学习文字类型,并且我正在努力为它们找到许多现实生活中的用例。我唯一能想到的是它们用于对可区分联合进行建模。
问题是,大多数时候,我的程序使用变量而不是文字,这使得文字类型不像我在网上看到的示例中显示的那样有用。
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
可能不会直接在代码中设置,而是来自使用输入或服务器请求。
我认为这会使文字类型在呈现时不太可用,或者我可能遗漏了其他用例?
除了对可区分联合进行建模之外,有人知道文字类型的其他用例吗?