Blog
Mert Özen'in yazılım geliştirme, backend, frontend ve DevOps üzerine blog yazıları.
JavaScript Map ve Set: Key-Value Collection'ları ve Yeni Set Method'ları
Map'in object'ten farkını, Set ile benzersiz değerleri, iterasyonu, ES2025 ile gelen union ve intersection gibi küme method'larını ve ES2026'nın getOrInsert method'unu örneklerle öğreniyoruz; WeakMap'e de kısaca bakıyoruz.
JavaScript this, call, apply ve bind: this Değeri Neye Göre Belirlenir?
this'in çağrı biçimine göre nasıl belirlendiğini, method kaybı tuzağını, arrow function'ların this'ini, call/apply/bind ile this'i ayarlamayı, event handler'lardaki this'i ve bind ile partial application'ı öğreniyoruz.
JavaScript Scope, Hoisting ve Closure: Değişkenler Nerede Yaşar?
Global, function ve block scope'u, scope chain'i, hoisting'i ve TDZ'yi; closure'ı da sayaç, private veri ve fonksiyon fabrikası örnekleri ve döngüdeki meşhur tuzakla birlikte öğreniyoruz.
JavaScript Array Method'ları Derinlemesine: map, filter, reduce, toSorted ve Object.groupBy
map, filter, reduce, find ailesi, some/every ve flatMap'i üretim bandı benzetmesiyle anlıyor; array'i bozmayan toSorted ve with method'larını (ES2023) ve Object.groupBy ile gruplamayı (ES2024) deniyoruz.
JavaScript Modern Syntax: Destructuring, Spread/Rest, Optional Chaining ve Mantıksal Atama
Array ve object destructuring'i, spread ve rest farkını, kısa property ve computed property yazımını, ?. ile ?? kullanımını ve ||=, &&=, ??= operatörlerini hangi ES sürümüyle geldikleriyle birlikte öğreniyoruz.
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 narrowing gerektirdiğini görüyoruz.