Özet - Namespace'ler
- TypeScript kursu
- Orta seviye
- Ders 57/89
- 4 dk
Namespace'lerle eski tip bir kütüphane başlığı yazarsın.
Özet - Namespace'ler
Namespace'ler, ilgili kodu global kapsamda gruplamanın eski desenidir. namespace Ad ile tanımlanır, export ile üyeler dışa aktarılır, iç içe kullanılabilir ve Dis.Ic.üye biçiminde erişilir. Modern projelerde module tercih edilir; namespace eski kütüphane taşımaları için hâlâ işe yarar.
namespace Kutuphane {
export namespace Matematik {
export function topla(a, b) { return a + b; }
}
}
Kutuphane.Matematik.topla(2, 3);Uygulama Eski tip kütüphane başlığı
İç içe namespace yapısının derleme sonrası eşdeğeri olan iç içe nesne desenini kullanarak Kutuphane adında bir nesne tanımla. İçinde Matematik adında iç nesne olsun. Matematik içinde topla(a: number, b: number): number ve carp(a: number, b: number): number metotları bulunsun; topla a + b, carp a * b döndürsün. Dışarıdan iç yola nokta zinciriyle 2 ve 3 ile çağır, sonuçları ayrı satırlarda yazdır.
Başlangıç kodu
// Kutuphane adında bir nesne tanımla
// Matematik adında iç nesne ekle
// topla metodunu ekle, a+b döndürsün
// carp metodunu ekle, a*b döndürsün
// her ikisini de 2 ve 3 ile çağır, sonuçları ayrı satırda yazdırÖrnek çözüm
const Kutuphane = {
Matematik: {
topla(a: number, b: number): number {
return a + b;
},
carp(a: number, b: number): number {
return a * b;
}
}
};
console.log(Kutuphane.Matematik.topla(2, 3));
console.log(Kutuphane.Matematik.carp(2, 3));Beklenen çıktı
5 6
Soru ve cevaplar
Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.
1 Hangi durumda namespace module'a tercih edilebilir?
- Modern bir web uygulaması başlatırken
- ES module uyumlu bir kütüphane yazarken
- Tek dosyalık bir yardımcı program yazarken Doğru cevap
- Yeni bir çok dosyalı proje kurulurken
Açıklama: Tek dosyalık yardımcı programlar için namespace hâlâ pratik olabilir. Çok dosyalı yeni projelerde, modern web uygulamalarında ve ES module kütüphanelerinde module tercih edilir.
2 Dış namespace adıyla eriş
namespace Kutuphane {
export namespace Matematik {
export function topla(a: number, b: number): number {
return a + b;
}
}
}
console.log(____.Matematik.topla(2, 3));
namespace Kutuphane {
export namespace Matematik {
export function topla(a: number, b: number): number {
return a + b;
}
}
}
console.log(Kutuphane.Matematik.topla(2, 3));
Açıklama: En dıştaki namespace adıyla erişim başlar; bu yüzden console.log(Kutuphane.Matematik.topla(...)) yazılır. Matematik iç namespace'tir; Hesap ve Dis ise bu bağlamda tanımsızdır.
3 Namespace kavramlarını eşleştir
| Kavram | Anlamı |
|---|---|
namespace Ad |
Global kapsam gruplama |
export namespace Ic |
İç namespace dışa aktarımı |
Dis.Ic.üye |
Nokta zinciri erişimi |
modern projelerde module |
Güncel tercih |