既然typescript 2.0 RC(甚至是beta?)可以使用數字文字類型,如type t = 1 | 2;
。是否可以將類型限制在數字範圍內,例如0-255,沒有寫出256個數字的類型?是否可以將數字限制在一定範圍內
在我的情況,出庫接受的顏色值從0-255的調色板,我寧願只是僅舉幾例,但其限制在0-255:
const enum paletteColor {
someColor = 25,
someOtherColor = 133
}
declare function libraryFunc(color: paletteColor | 0-255); //would need to use 0|1|2|...
注:枚舉定義一組名爲** numeric **常量,而不是新類型。因此,聲明可以傳遞數字而不是'paletteColor's是不必要的。 –
@Burt_Harris true。還需要一種將枚舉限制爲0-255的方法。人們也可以使用索引器對象而不是枚舉,雖然有點難看。無論哪種方式都不需要'|',如果它被限制在0-255或0-255之間,它應該在最好的情況下簡單地稱爲「paletteColor」。 – ASDFGerte
注意:從TS 2.4起,現在允許字符串文字作爲枚舉值https://blogs.msdn.microsoft.com/typescript/2017/06/27/announcing-typescript-2-4/#string-enums –