Blog
Mert Özen'in yazılım geliştirme, backend, frontend ve DevOps üzerine blog yazıları.
TypeScript'te Generic'lere Giriş: Tipi de Parametre Olarak Almak
Generic fonksiyonların neden var olduğunu, tip parametresinin girdi ile çıktıyı nasıl bağladığını, TypeScript'in T'yi nasıl çıkardığını ve generic'lerin any ile unknown'dan farkını görüyoruz.
TypeScript'te Generic Constraint'ler: extends, Varsayılan Tipler, const ve NoInfer
Generic tip parametrelerine extends ile kısıt koymayı, keyof ile iki parametreyi bağlamayı, varsayılan tip parametrelerini, TS 5.0 const type parameters ve TS 5.4 NoInfer ile çıkarımı yönetmeyi görüyoruz.
TypeScript'te Generic Interface, Type ve Class'lar: Box, Result ve Stack
Tip parametresini fonksiyonlardan tiplere taşıyoruz: generic type alias ile Box<T>, generic interface ile sayfalı liste, Result<T, E> ile başarı ve hata, generic Stack ve Registry class'ları.
TypeScript ile Class'lar: Erişim Belirleyiciler, abstract, implements ve override
TypeScript'in class'lara kattıklarını görüyoruz: property tipleri ve başlatma, public/private/protected ile #private farkı, readonly, abstract, implements, override ve parameter properties notu.
TypeScript'te keyof ve typeof: Değerlerden ve Key'lerden Tip Türetmek
Tip seviyesindeki typeof ile değerlerden tip çıkarmayı, keyof ile bir tipin key'lerinden union üretmeyi, index signature'daki sürprizi ve keyof typeof kalıbını örneklerle görüyoruz.
TypeScript Indexed Access Types: T["key"] ile Mevcut Tiplerden Tip Türetmek
T["key"] ile bir property'nin tipini okumayı, union index'leri, T[number] ile array element tipini, generic'lerde T[K]'yi ve büyük API tiplerinden parça türetmeyi örneklerle görüyoruz.
TypeScript Utility Types 1: Partial, Required, Readonly, Pick, Omit ve Record
Partial, Required, Readonly, Pick, Omit ve Record'u gerçekçi örneklerle kullanıyor, bir form modelinde birleştiriyor ve Omit'teki yazım hatası gibi sessiz tuzakları görüyoruz.
TypeScript Utility Types 2: Exclude, Extract, NonNullable, ReturnType ve Diğerleri
Union'ları Exclude, Extract ve NonNullable ile süzüyor; ReturnType, Parameters, Awaited, InstanceType ve ConstructorParameters ile fonksiyon ve class'lardan tip türetiyoruz.
TypeScript Type Guard'ları: Type Predicate ve Assertion Function
x is T ile type predicate, asserts ile assertion function yazıyor; TypeScript 5.5'in inferred type predicates özelliğini ve filter ile array daraltmayı tuzaklarıyla birlikte görüyoruz.
TypeScript ile Asenkron Kod: Promise, async ve fetch Cevabını Tiplemek
Promise<T> ve async dönüş tiplerini, fetch cevabının neden any olduğunu, unknown ve elle yazılan type guard ile runtime doğrulamayı ve Promise.all ile allSettled tiplerini görüyoruz.
TypeScript Module'leri: import type, verbatimModuleSyntax ve Dosya Uzantıları
TypeScript'te module ile script farkını, import type ve export type'ı, verbatimModuleSyntax'ın neden önemli olduğunu, import'larda .ts uzantısını ve bundler ile nodenext çözümlemesini örneklerle görüyoruz.
TypeScript ile Hata Yönetimi: catch'te unknown, Error Daraltma ve Result Deseni
catch değişkeninin neden unknown olduğunu, instanceof Error ile daraltmayı, kendi hata class'larını, Promise'lerdeki tuzakları ve hataları Result ile discriminated union olarak modellemeyi görüyoruz.