शीर्षक में के रूप में: करता टाइपप्रति समर्थन नामस्थान? यदि हां, तो कैसे मैं उन्हें इस्तेमाल करते हैं?
टाइपप्रति समर्थन नाम स्थान है?
टाइपप्रति परिभाषित करने के लिए अनुमति देता है मॉड्यूल बारीकी से क्या 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 नामस्थान लागू करने के लिए नेस्टेड मॉड्यूल का उपयोग कर सकते हैं।
संस्करण 1.5 के रूप में, टाइपप्रति का समर्थन करता है namespaceकीवर्ड। नेमस्पेस आंतरिक मॉड्यूल के बराबर हैं।
से क्या टाइपप्रति में नया क्या है :
पहले:
module Math { export function add(x, y) { ... } }बाद:
namespace Math { export function add(x, y) { ... } }
एक आंतरिक मॉड्यूल को परिभाषित करने के लिए, अब आप दोनों का उपयोग कर सकते हैं moduleऔर namespace।
यहाँ एक टाइपप्रति नाम स्थान उदाहरण है:
///<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/
कोई 'नाम स्थान' कीवर्ड है, लेकिन आंतरिक मॉड्यूल और बाहरी मॉड्यूल ( 'निर्यात' कीवर्ड का उपयोग कर) ( 'मॉड्यूल' कीवर्ड का उपयोग करके) तार्किक पदानुक्रम में अपने कोड के विभाजन के एक समान तरीके से प्रदान करते हैं।
असत्य...
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













