CodeBlanks Logo Icon CodeBlanks

Ambient module

Ortam modüllerini declare etmeyi öğrenirsin.

Ambient module nedir?

Bir ambient (ortam) modülü, TypeScript'e var olan ama tür bilgisi olmayan bir JS modülünü tanıtır. declare module ile bildirilir ve modül adı tırnak içine alınır. İçinde export ile dışa aktarılan fonksiyon ve değişkenler tür kazanır.

declare module "eski-modul" {
  export function selam(name: string): string;
}

Wildcard module

Joker karakterli declare module "*" ile belirli bir desene uyan tüm modülleri tanımlayabilirsin. Örneğin CSS veya görsel dosyalarını içe aktarırken tür bilgisi vermek için kullanılır. Varsayılan dışa aktarım export default ile belirtilir.

declare module "*.css" {
  const content: string;
  export default content;
}

Uygulama "selam" ambient modülünü bildir

"selam" adında bir ambient modül bildir. İçinde merhaba(name: string): string fonksiyonunu dışa aktar. Sonra "modül hazır" yazısını console.log ile yazdır.

Başlangıç kodu

index.ts
// "selam" ambient modülünü bildir
// içinde merhaba(name: string): string dışa aktar

console.log("modül hazır");

Örnek çözüm

index.ts
declare module "selam" {
  export function merhaba(name: string): string;
}
console.log("modül hazır");

Beklenen çıktı

modül hazır

Soru ve cevaplar

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

1 declare module "x" { ... } ifadesinin amacı nedir?

  • Yeni bir JavaScript modülü oluşturur
  • Modülü çalışma zamanında yükler
  • Modülün JavaScript kodunu derler
  • TypeScript'e var olan bir JS modülünü tanıtır Doğru cevap

Açıklama: declare module, var olan bir JS modülü için tür bilgisi sağlar; yeni modül oluşturmaz veya JavaScript kodu üretmez.

2 Ambient modül anahtar kelimesi

Soru
declare ____ "eski" { export function x(): void; }
Cevap
declare module "eski" { export function x(): void; }

Açıklama: Bir ambient modül bildirmek için `declare module` kullanılır; modül adı tırnak içine alınır.

3 Ambient modül parçaları

Kavram Anlamı
declare module Ambient modül başlangıcı
export function Modül içinde fonksiyon
"*" Joker karakter
export default Varsayılan dışa aktarım

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