Blog
Mert Özen'in yazılım geliştirme, backend, frontend ve DevOps üzerine blog yazıları.
Tarayıcıda TypeScript: DOM Tipleri, querySelector ve Event'ler
lib.dom tiplerini, querySelector'ın dönüş tiplerini ve generic kullanımını, HTMLInputElement gibi element type'larını, event tiplerini ve event.target tuzağını görüyor, tsc çıktısını bir module script ile sayfada çalıştırıyoruz.
tsconfig Temelleri: TypeScript 7 Varsayılanları ve Kaldırılan Ayarlar
tsconfig.json'daki strict ailesini, target, lib, types, module, outDir ve rootDir ayarlarını, erasableSyntaxOnly ile verbatimModuleSyntax'ı, TypeScript 6/7 varsayılanlarını ve 7.0'da kaldırılan seçenekleri görüyoruz.
TypeScript'te Type Assertion, !, satisfies ve as const: Derleyiciye Ne Zaman Ne Söylenir?
as ile type assertion'ın neyi denetleyip neyi denetlemediğini, ! işaretinin riskini, TS 4.9 ile gelen satisfies'ın hem kontrol edip hem dar tipi korumasını ve as const ile readonly literal'ları görüyoruz.
Intersection ve Structural Typing: TypeScript Tiplere Nasıl Bakar?
TypeScript'in tiplere isimle değil şekille baktığı structural typing'i, atanabilirlik kuralını, excess property kontrolüyle ilişkisini ve & ile type'ları birleştiren intersection'ı örneklerle görüyoruz.
TypeScript'te Fonksiyonların Tipleri: Parametreler, Dönüş Tipi ve Overload'lar
Parametre ve dönüş tiplerini; optional, default ve rest parametreleri, function type expression ve call signature'ı, void dönüşün inceliğini, overload'ları ve this parametresini örneklerle görüyoruz.
TypeScript'te Narrowing: Union'ları Daraltmak ve Control Flow Analysis
TypeScript'in control flow analysis ile union'ları nasıl daralttığını; typeof, truthiness, eşitlik, in ve instanceof kontrollerini, discriminated union'ları ve never ile exhaustive check'i görüyoruz.
TypeScript'te Union ve Literal Tipler: Bir Değer, Birkaç İhtimal
Union ile 'ya bu ya şu' tiplerini, literal tiplerle sınırlı değer listelerini, object içinde literal'lerin neden genişlediğini, as const'a ilk bakışı ve union'ların neden daraltma gerektirdiğini görüyoruz.
TypeScript'te Type Alias ve Interface: Tiplere İsim Vermek
type alias ve interface ile tiplere isim vermeyi, extends ile intersection arasındaki farkı, declaration merging'i, hangisinin ne zaman seçileceğini ve isimlendirme alışkanlıklarını örneklerle görüyoruz.
TypeScript'te Object Tipleri: Optional, readonly Property ve Index Signature
Inline object type'ları, optional ve readonly property'leri, index signature'ı, Record'u ve fazla property kontrolünün fresh object literal kuralını, yani TypeScript'in fazla property'yi neden bazen yakaladığını görüyoruz.
TypeScript'te Array ve Tuple Tipleri: readonly, Optional Element ve Named Tuple
string[] ve generic Array yazımını, readonly array'leri, sabit uzunluklu tuple'ları, optional ve rest element'leri, named tuple'ları ve noUncheckedIndexedAccess ayarının index okumalarını nasıl değiştirdiğini görüyoruz.
TypeScript'te Temel ve Özel Tipler: any, unknown, never ve void
string, number, boolean, bigint ve symbol'ün yanında null ve undefined'ın strict moddaki yerini, any'nin neden tehlikeli olduğunu, unknown'ın onu nasıl güvenli hâle getirdiğini ve void ile never'ı görüyoruz.
TypeScript'te Type Inference ve Annotation: Tipi Ne Zaman Sen Yazarsın?
TypeScript'in type'ı nasıl kendisi çıkardığını, let ile const arasındaki widening farkını, parametrelere neden annotation yazıldığını ve dönüş tipini ne zaman açıkça yazman gerektiğini örneklerle görüyoruz.