簡體   English   中英

打字稿:確定字符串是否屬於字符串聯合類型

[英]Typescript: Determining whether a string is in a string union type

假設我有一個這樣定義的typetype 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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM