[英]Typescript: Determining whether a string is in a string union type
假設我有一個這樣定義的type
: type CheeseType = 'Cheddar' | 'Pepperjack' | 'Gouda'
type CheeseType = 'Cheddar' | 'Pepperjack' | 'Gouda'
type CheeseType = 'Cheddar' | 'Pepperjack' | 'Gouda'
。
給定一個string
,如何確定該string
值是否在CheeseType
列表中?
我想像if (myString is CheeseType)
或if (myString in CheeseType)
,但這些似乎不起作用。
這種type CheeseType = 'Cheddar' | 'Pepperjack' | 'Gouda'
type CheeseType = 'Cheddar' | 'Pepperjack' | 'Gouda'
type CheeseType = 'Cheddar' | 'Pepperjack' | 'Gouda'
在 JavaScript 中絕對沒有表示,也沒有以任何方式模擬。 您可以通過在https://www.typescriptlang.org/play 中復制/粘貼來弄清楚。
因此,您將無法在運行時檢查類型。 type
的唯一目的是防止您的代碼在類型誤用的情況下編譯,因此您不必運行代碼來發現明顯的錯誤。
您可以使用在 JavaScript(一個對象)中具有表示形式的enum
,並允許您進行運行時類型檢查。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.