4
我只是想知道是否可以使用聯合類型鍵入數組,以便一個數組可以同時包含蘋果和橙子,但沒有別的。在TypeScript中使用聯合類型鍵入數組?
喜歡的東西
var arr : (Apple|Orange)[] = [];
arr.push(apple); //ok
arr.push(orange); //ok
arr.push(1); //error
arr.push("abc"); // error
不用說上面的例子不工作,所以這是不可能的,還是我失去了一些東西?
該定義不會引發錯誤,但您既不能訪問Apple也不能訪問橙色的任何屬性 –
我已更新答案以包含類型警戒示例。 – danielnixon
這很有趣。我犯了一個錯誤,那就是Apple和Orange是界面,而不是類,但是你不能爲界面輸入防護,所以你無法觸及屬性。謝謝。 –