TypeScript Eğitimi — Sıfırdan İleri Seviyeye
ProTypeScript'i hiç bilmeyen ama JavaScript bilen birinden başlayıp, generic'leri, conditional type'ları ve production-grade pattern'leri rahat yazabilen bir geliştirici çıkarır. Sırayla ilerle, her bölüm bir öncekini ön kabul eder.
Bu eğitim, JavaScript bilen ama TypeScript'e hiç dokunmamış (ya da yarım bilen) geliştiricileri "tip sisteminden fayda çıkaran" seviyesine getirir. Sırayla ilerlersen 10 bölümün sonunda generic yazabilen, type narrowing yapabilen, Zod ile runtime + compile-time tipi birlikte kullanabilen, üretim seviyesi pattern'leri tanıyan bir geliştirici olursun.
Bu eğitim kimler için?
- JavaScript bilen ama TypeScript'i hiç görmemiş geliştiriciler
- TypeScript yazıyor ama "any kullanmadan kullanır" seviyenin üstüne çıkamayanlar
- Generic yazıyor ama
extendsneyi sınırlıyor net bilmeyenler - "Zod kullanıyorum, ama
z.inferne işe yarıyor?" diyenler - Junior'dan mid-level'a geçişte tip sistemi yetkinliği isteyenler
Önkoşullar
JavaScript'in temellerini biliyor olman yeterli — değişken, fonksiyon, obje, dizi, async/await, modüller. Hiç TS yazmadıysan sorun değil:
- bölüm "TypeScript nedir" sorusuyla başlar.
Nasıl ilerlenir?
Her bölüm bir öncekinin üstüne inşa edilir. Sırayla ilerlemen önerilir; ancak referans amaçlı belirli bir bölüme doğrudan atlayabilirsin.
Format
Şimdilik MDX-only — uzun metin + bol kod örneği + gerçek üretim senaryoları. Her bölümün sonunda video desteği eklenecek (kayıt süreçtedir).
Eğitim sonunda
- Yapısal tipleme + type narrowing'i mantığıyla anlatabilirsin
- Generic, conditional type,
inferve mapped type pattern'lerini yazıp anlatabilirsin - Zod ile runtime validation + compile-time tipini tek source of truth yaparsın
- TypeScript + React entegrasyonunu temel seviyede bilirsin (derin proje deneyimi için "TS + React ile 3 Proje" eğitimine yönlendirilir)
- JS → TS migration ve production pattern'lerini tanıyabilirsin
Hadi başlayalım.
Bu eğitimde
- 01
TypeScript nedir, neden var?
ÖnizlemeTypeScript JavaScript'in superset'i, ama "ne demek" diyenler için somut cevaplar. Dosya tipleri, tsc, IDE leverage, structural typing ve ilk type annotation'ı yazıyoruz.
7 dk - 02
Temel tipler ve type annotation
string, number, boolean, array, tuple, object, function, void, any, unknown, never, literal type'lar. TypeScript'in tip vokabülerini öğreniyoruz.
7 dk - 03
Union, intersection ve type narrowing
Union (`|`) ve intersection (`&`) operatörleri, type guard'lar ile narrowing, discriminated union pattern'i ve exhaustive switch ile derleyici garantili switch.
6 dk - 04
Interface, type alias, class ve enum
Interface ve type alias arasındaki fark, class TypeScript'i, modifier'lar (public/private/protected/readonly), abstract class ve enum (vs literal union) tartışması.
7 dk - 05
Generic'ler — sıfırdan ileri seviyeye
Generic fonksiyon, class ve type'lar. Constraint'ler (`extends`), default'lar, çoklu type parameter, ve gerçek dünya örnekleri ile generic'leri rahatça yazabilmek.
8 dk - 06
Conditional types ve `infer`
`X extends Y ? A : B` ile koşullu type'lar, distributive conditional, `infer` keyword ile tip çıkarımı, `ReturnType` ve `Parameters`'ı kendin yazma.
7 dk - 07
Mapped types ve utility types
`Pick`, `Partial`, `Record`, `Readonly` nasıl çalışır içten dışa. Key remapping (`as`), template literal type'lar, kendi utility helper'ını yazma.
8 dk - 08
Zod ile runtime validation + tip türetme
TypeScript runtime'a inmiyor — kullanıcı input'u, env, API response runtime doğrulaması ister. Zod ile schema-first; `z.infer` ile tip otomatik türetiyor, tek source of truth.
8 dk - 09
TypeScript + React — temel pattern'ler
Component prop type'ları, useState ve useReducer, event handler tipleri, ref ve forwardRef. Sınırlı kapsamda — derin proje deneyimi için "TS + React ile 3 Proje" eğitimine yönlendirilirsin.
7 dk - 10
Production pattern'leri ve ekosistem
Branded types, exhaustive switch, type-driven design, JS → TS migration stratejisi, tsconfig deep dive ve ekosistemde sonraki adımlar.
7 dk
Sor, birlikte çözelim.
community.czay.dev — Türkçe yazılım topluluğumuzda eğitimde takıldığın konuları sorabilir, başka geliştiricilerin deneyimlerinden faydalanabilirsin. Hızlı cevap, doğru yer.