टाइपप्रति समर्थन नाम स्थान है?

वोट
52

शीर्षक में के रूप में: करता टाइपप्रति समर्थन नामस्थान? यदि हां, तो कैसे मैं उन्हें इस्तेमाल करते हैं?

05/10/2012 को 01:33
का स्रोत उपयोगकर्ता
अन्य भाषाओं में...                            


5 जवाब

वोट
55

टाइपप्रति परिभाषित करने के लिए अनुमति देता है मॉड्यूल बारीकी से क्या ECMAScript 6. में होगा निम्न उदाहरण कल्पना से लिया जाता है से संबंधित:

module outer {
    var local = 1;
    export var a = local;
    export module inner {
        export var x = 10;
    }
}

आप देख सकते हैं, मॉड्यूल नाम है और नेस्ट जा सकता है। आप मॉड्यूल के नाम में डॉट्स का उपयोग करते हैं, टाइपप्रति इस प्रकार नेस्टेड मॉड्यूल को यह संकलन होगा:

module A.B.C {
    export var x = 1;
}

इस के बराबर है

module A {
    module B {
        module C {
            export var x = 1;
        }
    }
}

क्या यह भी महत्वपूर्ण है कि यदि आप एक टाइपप्रति कार्यक्रम में ठीक उसी मॉड्यूल का नाम पुन: उपयोग, कोड एक ही मॉड्यूल के हैं जाएगा। इसलिए, आप hierarchichal नामस्थान लागू करने के लिए नेस्टेड मॉड्यूल का उपयोग कर सकते हैं।

05/10/2012 को 09:12
का स्रोत उपयोगकर्ता

वोट
28

संस्करण 1.5 के रूप में, टाइपप्रति का समर्थन करता है namespaceकीवर्ड। नेमस्पेस आंतरिक मॉड्यूल के बराबर हैं।

से क्या टाइपप्रति में नया क्या है :

पहले:

module Math {
    export function add(x, y) { ... }
}

बाद:

namespace Math {
    export function add(x, y) { ... }
}

एक आंतरिक मॉड्यूल को परिभाषित करने के लिए, अब आप दोनों का उपयोग कर सकते हैं moduleऔर namespace

24/07/2015 को 18:01
का स्रोत उपयोगकर्ता

वोट
9

यहाँ एक टाइपप्रति नाम स्थान उदाहरण है:

///<reference path='AnotherNamespace/ClassOne.ts'/>
///<reference path='AnotherNamespace/ClassTwo.ts'/>

module MyNamespace
{
    import ClassOne = AnotherNamespace.ClassOne;
    import ClassTwo = AnotherNamespace.ClassTwo;

    export class Main
    {
        private _classOne:ClassOne;
        private _classTwo:ClassTwo;

        constructor()
        {
            this._classOne = new ClassOne();
            this._classTwo = new ClassTwo();
        }
    }
}

आप और अधिक यहाँ देख सकते हैं: http://www.codebelt.com/typescript/javascript-namespacing-with-typescript-internal-modules/

03/11/2013 को 22:54
का स्रोत उपयोगकर्ता

वोट
7

कोई 'नाम स्थान' कीवर्ड है, लेकिन आंतरिक मॉड्यूल और बाहरी मॉड्यूल ( 'निर्यात' कीवर्ड का उपयोग कर) ( 'मॉड्यूल' कीवर्ड का उपयोग करके) तार्किक पदानुक्रम में अपने कोड के विभाजन के एक समान तरीके से प्रदान करते हैं।

05/10/2012 को 01:35
का स्रोत उपयोगकर्ता

वोट
3

असत्य...

module A.B.C {
    export var x = 1;
}

के बराबर है

module A {
    export module B {
        export module C {
            export var x = 1;
        }
    }
}

क्योंकि आप मॉड्यूल एक बाहर लिख सकते हैं:

var y = A.B.C.x;

परंतु :

module A {
    module B {
        module C {
            export var x = 1;
        }
        var y = C.x; // OK
    }
    //var y = B.C.x; // Invalid
}
//var y = A.B.C.x;   // Invalid
21/07/2015 को 11:45
का स्रोत उपयोगकर्ता

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more