टाइपस्क्रिप्ट में "टाइप" आरक्षित शब्द क्या है?


105

मैंने अभी देखा जब टाइपस्क्रिप्ट में एक इंटरफ़ेस बनाने की कोशिश की जा रही थी कि "टाइप" या तो एक कीवर्ड या एक आरक्षित शब्द है। निम्न इंटरफ़ेस बनाते समय, उदाहरण के लिए, टाइपस्क्रिप्ट 1.4 के साथ विजुअल स्टूडियो 2013 में "प्रकार" को नीले रंग में दिखाया गया है:

interface IExampleInterface {
    type: string;
}

मान लीजिए कि आप इंटरफ़ेस को इस तरह कक्षा में लागू करने का प्रयास करते हैं:

class ExampleClass implements IExampleInterface {
    public type: string;

    constructor() {
        this.type = "Example";
    }
}

क्लास की पहली पंक्ति में, जैसा कि आप इंटरफ़ेस द्वारा आवश्यक संपत्ति को लागू करने के लिए "टाइप" शब्द टाइप करते हैं, IntelliSense "टाइपो" के साथ अन्य कीवर्ड जैसे "टाइपोफ़" या "नया" के समान दिखाई देता है "।

मैंने चारों ओर नज़र डाली है , और इस GitHub मुद्दे को खोज सकता है जो टाइपस्क्रिप्ट में "टाइप" को "सख्त मोड आरक्षित शब्द" के रूप में सूचीबद्ध करता है, लेकिन मुझे इसके बारे में कोई और जानकारी नहीं मिली है कि इसका उद्देश्य वास्तव में क्या है।

मुझे संदेह है कि मैं एक मस्तिष्क गोज़ कर रहा हूं और यह कुछ स्पष्ट है जो मुझे पहले से ही पता होना चाहिए, लेकिन टाइपस्क्रिप्ट के लिए "टाइप" आरक्षित शब्द क्या है?


Type Aliasअपने प्रकारों को एक शब्दार्थ नाम देने के लिए: basarat.gitbooks.io/typescript/content/docs/types/…
basarat

जवाबों:


129

इसका उपयोग "प्रकार उपनाम" के लिए किया जाता है। उदाहरण के लिए:

type StringOrNumber = string | number;
type DictionaryOfStringAndPerson = Dictionary<string, Person>;

संदर्भ: टाइपस्क्रिप्ट विनिर्देश v1.5 (खंड 3.9, "प्रकार उपनाम", पृष्ठ 46 और 47)

अपडेट : अब 1.8 स्पेक के सेक्शन 3.10 पर । अपडेट की गई कल्पना और लिंक के लिए धन्यवाद @RandallFlagg

अपडेट : टाइपस्क्रिप्ट हैंडबुक , खोज "टाइप एलियास" आपको संबंधित अनुभाग तक पहुंचा सकता है।


24
हां, तो यह कुछ स्पष्ट था। यह पता लगाना बहुत मुश्किल है कि जब आप प्रोग्रामिंग भाषाओं के संदर्भ में "टाइप" शब्द खोजते हैं तो आप क्या खोज रहे हैं - विशेषकर जब प्रश्न की भाषा को "टाइपस्क्रिप्ट" कहा जाता है। वैसे, जेनेरिक शब्दकोशों अभी भी टाइपस्क्रिप्ट में मौजूद नहीं हैं?
एडम गुडविन

1
यहाँ एक है अगर आपको इसकी आवश्यकता है (टीएस 0.9 और इसके बाद के संस्करण के लिए):
जेसीएल जूल

धन्यवाद, मुझे लगता है कि मैंने उस परियोजना को एक बार पहले देखा था जब मैं एक शब्दकोश चाहता था, लेकिन अंत में मैंने बिना कुछ किए बस फैसला किया।
एडम गुडविन

अवधारणा में typedef से आया ca इस जाँच studytonight.com/c/typedef.php
Pranoy सरकार

31

टाइपस्क्रिप्ट में कीवर्ड टाइप करें:

टाइपस्क्रिप्ट में टाइप कीवर्ड एक उपनाम को एक प्रकार में परिभाषित करता है। हम उपयोगकर्ता परिभाषित प्रकारों को परिभाषित करने के लिए टाइप कीवर्ड का भी उपयोग कर सकते हैं। यह एक उदाहरण के माध्यम से सबसे अच्छा समझाया गया है:

type Age = number | string;    // pipe means number OR string
type color = "blue" | "red" | "yellow" | "purple";
type random = 1 | 2 | 'random' | boolean;

// random and color refer to user defined types, so type madness can contain anything which
// within these types + the number value 3 and string value 'foo'
type madness = random | 3 | 'foo' | color;  

type error = Error | null;
type callBack = (err: error, res: color) => random;

आप अदिश प्रकार (के प्रकार रचना कर सकते हैं string, numberजैसे शाब्दिक मूल्यों के, आदि), लेकिन यह भी 1या 'mystring'। आप अन्य उपयोगकर्ता-परिभाषित प्रकारों की रचना भी कर सकते हैं। उदाहरण के लिए प्रकार madnessके प्रकार randomऔर colorइसमें हैं।

तब जब हम एक स्ट्रिंग को शाब्दिक बनाने की कोशिश करते हैं (और हमारे पास हमारे IDE में IntelliSense है) यह सुझाव दिखाता है:

यहां छवि विवरण दर्ज करें

यह सभी रंगों को दिखाता है, जो टाइप टाइप का पागलपन होता है, 'रैंडम' जो कि टाइप रैंडम से लिया जाता है, और अंत में, वह स्ट्रिंग 'foo'जो टाइप के पागलपन पर होती है।


उपयोगकर्ता परिभाषित प्रकारों और
गणनाओं के

1
@ORcoder अच्छा सवाल! मैं भी जानना चाहता हूं। हमें समझने के लिए एक अच्छी व्याख्या!
मर्व

आपने type color = "blue" | "red" | "yellow" | "purple";कक्षा के अंदर या बाहर के बयानों को कहां घोषित किया है ?
ललित कुशवाह
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.