से संख्या प्रतिबंधित करना संभव है क्योंकि टाइपस्क्रिप्ट 2.0 आरसी (या यहां तक कि बीटा?) 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|...
नोट: enums नामित ** संख्यात्मक ** स्थिरांक का एक सेट परिभाषित करता है, न कि एक नया प्रकार। यह घोषणा करने के लिए कि 'पैलेट रंग' की बजाय संख्या पारित की जा सकती है अनावश्यक है। –
@ बर्ट_ हैरिस सच। एक enum को 0-255 तक सीमित करने का एक तरीका भी आवश्यक होगा। कोई भी एक enum के बजाय एक सूचकांक वस्तु का उपयोग कर सकते हैं, हालांकि थोड़ा बदसूरत। '|' की किसी भी तरह की आवश्यकता नहीं है, यह सर्वोत्तम परिदृश्य में होना चाहिए, यदि यह 0-255 तक सीमित है, या केवल 0-255 तक सीमित है तो इसे 'palettecolor' होना चाहिए। – ASDFGerte
नोट: टीएस 2.4 के रूप में, स्ट्रिंग अक्षरों को अब enum मानों के रूप में अनुमति दी जाती है https://blogs.msdn.microsoft.com/typescript/2017/06/27/announcing-typescript-2-4/#string-enums –