0
我目前正在比較Google Closure Compiler和Flow靜態類型檢查器,表現力方面。我喜歡後者的是,它顯然可以很好地represent tagged unions。該手冊給出了這個例子:關閉編譯器中的標記工會
type Result = Done | Error; // a disjoint union type with two cases
type Done = { status: 'done', answer: Matrix };
type Error = { status: 'error', message: string };
有沒有辦法做這樣的事情使用Closure編譯器?那意味着某種方式可以強制某個物品的某些特定物品不僅具有特定類型,而且具有固定的價值?並使用該值進行類型推斷,以區分工會中的不同選項?我沒有發現這種效果的文檔。
不知道可以使用'enum'作爲類型。如果我正確地指出了這一點,那麼您建議的兩種形式都會聲明'status'屬性可以是兩個值中的任意一個,而不需要修改值和相應類型之間的鏈接。也許每種類型的單一元素「enum」都可以達到這個目的......將不得不稍微嘗試一下。 – MvG
具有單個值的枚舉可能有效 –