TypeScript Ad Alanlarıyla Çalışma

TypeScript ad alanları, tek bir genel kapsam içinde kodu düzenlemenin ve yönetmenin bir yolunu sağlar. Ad alanları, ilgili kodu bir araya gruplandırmaya, adlandırma çakışmalarını önlemeye ve kod sürdürülebilirliğini iyileştirmeye yardımcı olur. Bu kılavuz, örneklerle TypeScript ad alanlarını oluşturma ve kullanmanın temellerini ele alır.

TypeScript Ad Alanları Nelerdir?

Ad alanları, TypeScript'te kodu kapsüllemenin bir yoludur. İlgili işlevleri, sınıfları ve değişkenleri tek bir mantıksal birimde gruplandırmaya izin verirler; bu, büyük projelerde adlandırma çakışmalarını önlemek ve kod organizasyonunu iyileştirmek için yararlı olabilir.

Bir Ad Alanı Oluşturma

Bir ad alanı oluşturmak için, namespace anahtar sözcüğünü, ardından bir ad ve bir kod bloğunu kullanın. Ad alanı bloğunun içinde, o ad alanının parçası olması gereken işlevleri, sınıfları veya değişkenleri tanımlayın.

// mathUtils.ts

namespace MathUtils {
  export function add(a: number, b: number): number {
    return a + b;
  }

  export function subtract(a: number, b: number): number {
    return a - b;
  }
}

Bu örnekte, MathUtils ad alanı, her ikisi de ad alanının dışında kullanılmak üzere dışa aktarılan add ve subtract adlı iki işlev içerir.

Bir Ad Alanı Kullanma

Kodu bir ad alanı içinde kullanmak için, ad alanı adının önüne bir nokta ve üye adını ekleyin. Ad alanının kullanıldığı kapsamda mevcut olduğundan emin olun.

// app.ts

/// <reference path="mathUtils.ts" /> 

const sum = MathUtils.add(5, 3);
const difference = MathUtils.subtract(5, 3);

console.log(`Sum: ${sum}`);
console.log(`Difference: ${difference}`);

Bu örnekte, MathUtils ad alanı, '<reference path="mathUtils.ts" />' üçlü eğik çizgi yönergesi kullanılarak referans alınmış ve app.ts dosyasındaki işlevlerine erişim sağlanmıştır.

İç içe geçmiş ad alanları

Ad alanları, kodun daha fazla düzenlenmesine yardımcı olan diğer ad alanlarının içine yerleştirilebilir. İç içe geçmiş ad alanlarına, ad alanı adlarını noktalarla zincirleyerek erişilir.

// shapes.ts

namespace Shapes {
  export namespace Circle {
    export function area(radius: number): number {
      return Math.PI * radius * radius;
    }
  }

  export namespace Square {
    export function area(side: number): number {
      return side * side;
    }
  }
}

Bu örnekte, Shapes ad alanı, her biri kendi area işlevine sahip iki iç içe geçmiş ad alanı içerir: Circle ve Square.

İç İçe Ad Alanlarını Kullanma

İç içe geçmiş ad alanlarının üyelerine erişmek için ad alanı adlarını zincirlemek amacıyla nokta gösterimini kullanın.

// app.ts

/// <reference path="shapes.ts" /> 

const circleArea = Shapes.Circle.area(5);
const squareArea = Shapes.Square.area(4);

console.log(`Circle Area: ${circleArea}`);
console.log(`Square Area: ${squareArea}`);

Bu örnekte, Circle ve Square ad alanlarına, Shapes ad alanı aracılığıyla erişilmektedir ve bu, iç içe geçmiş ad alanlarının nasıl kullanılabileceğini göstermektedir.

Çözüm

TypeScript ad alanları, kodu düzenlemek ve yönetmek için güçlü bir araçtır. Ad alanlarını kullanarak kod mantıksal olarak gruplandırılabilir, böylece adlandırma çatışmaları riski azaltılır ve sürdürülebilirlik iyileştirilir. İç içe geçmiş ad alanları da dahil olmak üzere ad alanlarının nasıl oluşturulacağını ve kullanılacağını anlamak, etkili TypeScript geliştirme için önemlidir.