TypeScript’te Türler: Başlangıç Rehberi
TypeScript, JavaScript’in üzerine inşa edilmiş, statik olarak yazılan bir dildir. TypeScript’in en güçlü özelliklerinden biri, kodunuzun daha güvenilir ve anlaşılır olmasını sağlayan **türlerdir**. Bu makale, TypeScript’te türleri anlamayı ve kullanmayı öğrenmenize yardımcı olacaktır.
TypeScript Türlerinin Temelleri
TypeScript’te türler, değişkenlerin, fonksiyonların ve diğer varlıkların hangi veri türünü tutabileceğini belirtir. TypeScript, programcıların hataları önceden yakalamalarına ve kodun daha kolay okunabilir ve sürdürülebilir olmasına yardımcı olmak için bu tür bilgilerini kullanır.
Temel Türler
TypeScript, sayılar, metinler, boolean değerler ve diğer temel veri türleri için önceden tanımlanmış türlere sahiptir.
- **number:** Sayıları temsil eder (örneğin, 10, 3.14, -5).
- **string:** Metinleri temsil eder (örneğin, “Merhaba Dünya!”, “TypeScript”).
- **boolean:** Doğru veya yanlış değerlerini temsil eder (örneğin, true, false).
- **any:** Herhangi bir veri türünü temsil eder. Bu tür genellikle gerektiğinde kullanılır, ancak kullanımı genellikle önerilmez, çünkü tür denetimini devre dışı bırakır.
- **void:** Değer döndürmeyen fonksiyonlar için kullanılır.
- **null:** Sıfır değerini temsil eder.
- **undefined:** Tanımsız değerleri temsil eder.
Örnekler
“`typescript
let sayi: number = 10;
let metin: string = “Merhaba”;
let dogru: boolean = true;
function selamla(ad: string): void {
console.log(“Merhaba, ” + ad + “!”);
}
selamla(“Fatih”);
“`
Tür Annotasyonları
Tür annotasyonları, değişkenlere veya fonksiyonlara türlerini belirtmek için kullanılır. Tür annotasyonları, iki nokta üst üste (:) ve tür adı kullanılarak yapılır.
“`typescript
let myName: string = “Fatih”; // string türü annotasyonu
“`
Tür annotasyonları, kodun daha anlaşılır ve hatasız olmasını sağlar.
Karmaşık Türler
TypeScript, temel türlerin ötesinde daha karmaşık türler de sağlar. Bunlar, kodunuzu yapılandırmanıza ve karmaşık veri yapıları oluşturmanıza olanak tanır.
Diziler
Diziler, aynı türde birden fazla değeri depolamak için kullanılır. Diziler, tür adı ve köşeli parantez ([]) kullanılarak tanımlanır.
“`typescript
let sayilar: number[] = [1, 2, 3, 4, 5];
let metinler: string[] = [“Merhaba”, “Dünya”];
“`
Nesneler
Nesneler, ad-değer çiftlerini depolamak için kullanılır. Nesneler, süslü parantez ({}) kullanılarak tanımlanır ve her özellik için tür bildirimi yapılır.
“`typescript
let kisi: { ad: string; yas: number } = { ad: “Fatih”, yas: 30 };
“`
Tuple’lar
Tuple’lar, sabit bir sayıda ve belirli türlerde eleman içeren dizilerdir.
“`typescript
let kullanici: [string, number] = [“Fatih”, 30];
“`
Enum’lar
Enum’lar, bir dizi isimli sabiti temsil etmek için kullanılır. Enum’lar, ‘enum’ anahtar sözcüğü kullanılarak tanımlanır.
“`typescript
enum Durum {
Basarılı,
Hata
}
let durum: Durum = Durum.Basarılı;
“`
Tür Uyumluluğu
TypeScript, tür uyumluluğunu kullanarak kodun tür güvenliğini sağlar. Tür uyumluluğu, iki türün birbirleriyle uyumlu olup olmadığını belirler.
Atama Uyumluluğu
Bir değişkenin değeri, değişkenin türü ile uyumlu bir türde olmalıdır.
“`typescript
let sayi: number = 10;
let metin: string = “Merhaba”;
sayi = metin; // Hata: Tür uyumsuzluğu
“`
Fonksiyon Uyumluluğu
Fonksiyonlar, parametreleri ve dönüş türü ile uyumlu olmalıdır.
“`typescript
function topla(a: number, b: number): number {
return a + b;
}
let sonuc = topla(“Merhaba”, 10); // Hata: Tür uyumsuzluğu
“`
Tür Tahmini
TypeScript, tür tahmini kullanarak türleri otomatik olarak belirleyebilir. Tür tahmini, değişkenlerin değerlerine ve kullanım şekillerine dayanır.
“`typescript
let isim = “Fatih”; // ‘isim’ değişkeni otomatik olarak ‘string’ türüne atanır
“`
Tür Denetiminin Devre Dışı Bırakılması
Bazı durumlarda, tür denetimini devre dışı bırakmanız gerekebilir. Bunu, ‘any’ türünü veya ‘as’ anahtar sözcüğünü kullanarak yapabilirsiniz.
“`typescript
let data: any = “Merhaba”;
let sayi: number = data as number; // ‘as’ anahtar sözcüğü tür denetimini devre dışı bırakır
“`
Ancak, ‘any’ türünü veya ‘as’ anahtar sözcüğünü yalnızca gerektiğinde kullanın. Tür denetimini devre dışı bırakmak, kodunuzun güvenliğini azaltabilir.
Sonuç
TypeScript’te türleri anlamak, daha güvenilir, anlaşılır ve sürdürülebilir kod yazmanıza yardımcı olur. Bu makale, TypeScript’te temel türleri, tür annotasyonlarını ve tür uyumluluğunu ele aldı. TypeScript türleri hakkında daha fazla bilgi edinmek için TypeScript dokümantasyonuna göz atabilirsiniz.
Öneriler
TypeScript’i öğrenmeye başladıysanız, kodunuzu düzenli bir şekilde yazmak için bir kod editörü veya IDE kullanmanızı öneririm. Visual Studio Code, TypeScript’in gelişimi için harika bir IDE’dir.
Ayrıca, TypeScript ile ilgili kaynakları keşfetmenizi ve pratiğe koymanızı öneririm. Fatih Soysal gibi bir blogdan, TypeScript ile ilgili makaleler, eğitim videoları ve örnek projeler bulabilirsiniz.
#Etiketler: TypeScript, Türler, Tür Annotasyonları, Tür Uyumluluğu, Tür Tahmini, Atama Uyumluluğu, Fonksiyon Uyumluluğu, Diziler, Nesneler, Tuple’lar, Enum’lar, TypeScript Dokümantasyonu, Visual Studio Code, Fatih Soysal
