ile sınırlamak mümkün müdür 2.0'dan beri RC (veya hatta beta?), type t = 1 | 2;
'da olduğu gibi sayı değişmez türlerini kullanmak mümkündür. Bir türün bir sayı aralığına kısıtlanması mümkün olabilir, ör. 0-255, yazı tipinde 256 sayı yazılmadan mı? Benim durumumdaNumarayı belirli bir aralıkta
, kütüphane 0-255 arası bir paleti için renk değerleri kabul ve sadece birkaç isim tercih ama 0-255 bunu kısıtlamak istiyorum:
const enum paletteColor {
someColor = 25,
someOtherColor = 133
}
declare function libraryFunc(color: paletteColor | 0-255); //would need to use 0|1|2|...
Not: enums, yeni bir tür değil, bir dizi ** sayısal ** sabiti tanımlar. PaletteColor'un yerine sayıların geçilebileceğini bildirmek gereksizdir. –
@Burt_Harris true. Enumun 0-255 ile sınırlandırılmasının bir yolu da gerekli olacaktır. Aynı zamanda biraz çirkin olmasına rağmen, sadece bir dizin yerine bir dizinleyici nesne kullanabilirsiniz. Her iki şekilde de gerekli değildir, en iyi senaryoda sadece 0-255 veya sadece 0-255 ile sınırlı olsa bile paletteColor olmalıdır. – ASDFGerte
Not: TS 2.4'ten itibaren, dize değişmezleri şimdi enum değerleri olarak izin verilir https://blogs.msdn.microsoft.com/typescript/2017/06/27/announcing-typescript-2-4/#string-enums –