CodeBlanks Logo Icon CodeBlanks

Namespace nedir?

Namespace ile global kapsam gruplamayı öğrenirsin.

Namespace nedir?

Namespace, ilgili kodu tek bir ad altında gruplamaya yarar. namespace Ad { ... } sözdizimi ile tanımlanır ve içindeki üyeler export anahtar kelimesiyle dışa aktarılır. Dışarıdan Ad.üye biçiminde erişilir.

namespace Hesap {
  export function topla(a: number, b: number) {
    return a + b;
  }
}
console.log(Hesap.topla(2, 3));  // 5

Export olmazsa özel kalır

Namespace içinde export ile işaretlenmeyen üyeler dışarıdan erişilemez; yalnızca aynı namespace içinde kullanılabilir. Bu, namespace'in bir kapsülleme mekanizması sağladığı anlamına gelir; iç mantığı dış dünyadan gizleyebilirsin.

Uygulama Namespace desenini uygula

Bir namespace yapısının derleme sonrası eşdeğeri, adlandırılmış bir nesne deseniyle ifade edilir. Hesap adında bir nesne tanımla; topla(a: number, b: number): number metodu a + b döndürsün. Dışarıdan Hesap.topla biçiminde 2 ve 3 değerleriyle çağır ve sonucu console.log ile yazdır.

Başlangıç kodu

index.ts
// Hesap adında bir nesne tanımla
// topla metodunu ekle, a ve b parametreli
// a + b döndürsün
// topla'yı 2 ve 3 ile çağır, sonucu yazdır

Örnek çözüm

index.ts
const Hesap = {
  topla(a: number, b: number): number {
    return a + b;
  }
};
console.log(Hesap.topla(2, 3));

Beklenen çıktı

5

Soru ve cevaplar

Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.

1 Bir namespace içindeki üyeye dışarıdan nasıl erişilir?

  • super.üye ile
  • Yalnızca üye adıyla doğrudan
  • Ad.üye biçiminde nokta ile Doğru cevap
  • import { üye } from "Ad" ile

Açıklama: Namespace üyelerine Ad.üye biçiminde nokta ile erişilir. import module içe aktarma içindir; super sınıf mirasında kullanılır; üye adıyla doğrudan erişim yalnızca namespace içinde geçerlidir.

2 export ekle

Soru
namespace Hesap {
  ____ function topla(a: number, b: number): number {
    return a + b;
  }
}
Cevap
namespace Hesap {
  export function topla(a: number, b: number): number {
    return a + b;
  }
}

Açıklama: Namespace içindeki bir üyeyi dışarıdan erişilebilir kılmak için export kullanılır. public ve static sınıf üyeleri içindir; default module'lerin varsayılan dışa aktarımı içindir.

3 Namespace parçaları

Kavram Anlamı
namespace Ad Namespace bildirimi
export function Dışa aktarılan üye
Ad.üye Nokta ile erişim
export olmayan üye Yalnızca namespace içinde

Orta seviye bölümündeki tüm dersler