Başlıkta gibi: does typescript destek ad? Eğer öyleyse, bunları nasıl kullanırım?
Typescript destek ad mu?
Typescript tanımlamanızı sağlar modülleri yakından Aşağıdaki örnek spec alınır ECMAScript'te 6. olacak şeyle ilgili:
module outer {
var local = 1;
export var a = local;
export module inner {
export var x = 10;
}
}
Gördüğünüz gibi, modüller isimleri var ve iç içe olabilir. Eğer modül adlarında nokta kullanıyor, aşağıdaki gibi typescript iç içe modülleri bu derlenir:
module A.B.C {
export var x = 1;
}
Bu eşittir
module A {
module B {
module C {
export var x = 1;
}
}
}
Ne de önemlidir tek typescript programda aynı modül adını yeniden eğer, kod aynı modülde ait olacaktır. Dolayısıyla, size hierarchichal ad alanları uygulamak için iç içe modüllerini kullanabilir.
Versiyon 1.5 itibariyle typescript destekler namespaceanahtar kelime. Ad alanları iç modüllerin eşdeğerdir.
Gönderen typescript yenilikler :
Önce:
module Math { export function add(x, y) { ... } }Sonra:
namespace Math { export function add(x, y) { ... } }
Bir iç modülünü tanımlama, şimdi hem kullanabilir moduleve namespace.
İşte typescript ad örneğidir:
///<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();
}
}
}
Daha buradan bakabilirsiniz: http://www.codebelt.com/typescript/javascript-namespacing-with-typescript-internal-modules/
Orada hayır 'ad' anahtar kelimedir ama ve ( 'ihracat' anahtar kelimeyi kullanarak) dış modülleri ( 'modülü' anahtar kelimesini kullanarak) iç modülleri mantıksal hiyerarşileri içine kodunuzu bölme benzer bir yol sunar.
Yanlış...
module A.B.C {
export var x = 1;
}
eşittir
module A {
export module B {
export module C {
export var x = 1;
}
}
}
Eğer modül A dışında yazabilir çünkü:
var y = A.B.C.x;
Fakat :
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













