JavaScript

Modern ve güvenli JavaScript pratiği

JAVASCRIPT EĞİTİMİ

JavaScript Eğitimi uygulamalı kurumsal eğitim programı tanıtım kapağı

Bir projede başlangıçta 10 dosyalık temiz kod bir yılda 200 dosyaya çıkar; dolaylı bağımlılıklar bir butonu güncellemeyi başka sayfada bozar hale getirir. JavaScript'i sistemli yazmak bu büyümeyi öngörülebilir kılar — modül sınırı, asenkron akış kontrolü ve pattern disiplini büyüyen projeyi sürdürülebilir tutar.

Modern JS özellikleri (ES2015+), scope ve closure, prototype ve class, Promise ve async-await, event loop ve microtask kuyruğu, modül sistemleri (ESM, CommonJS), error handling, fetch ve API entegrasyonu, immutable veri ve fonksiyonel pattern'ler ele alınır. Dil spesifikasyonu için ECMAScript Language Specification birincil kaynaktır.

Katılımcı Profili

JavaScript ile modern web uygulaması geliştiren profillere yöneliktir:

  • Front-end Geliştiriciler: Modern ES6+ ve DOM manipülasyonu uygular
  • Full-stack Geliştiriciler: Browser ve Node.js ekosistemini bütünler
  • React, Vue ve Angular Geliştiricileri: Framework altyapısı için JS temeli güçlendirir
  • Bootcamp Mezunları: Junior developer'lık için sağlam zemin kurar
  • Backend Geliştiriciler: Node.js geçişine hazırlanır

Ön Gereklilikler

Eğitime hazır gelmek için aşağıdaki temeller önerilir:

  • Değişken, koşul ve döngü gibi programlama temellerine aşinalık
  • HTML ve CSS ile basit sayfa üretme deneyimi
  • Terminal ve dosya-klasör yapısına giriş seviyesi rahatlık
  • VS Code benzeri bir editör kurabilmek
  • Git ile temel commit ve branch kullanımı (opsiyonel)

Süresi ve Tarihi

Süre: 3 gün. Bu süre standart program içindir; ek modüllere ve hedefe göre süre özelleştirilebilir.
Eğitim tarihleri ve saatleri, katılımcı grubunun uygunluğuna göre birlikte planlanır.

Kazanımlar

Eğitim sonunda JavaScript geliştirme akışı daha güvenli ve öngörülebilir hale gelir:

  • Dil temellerini doğru kullanarak tutarlı kod yazar
  • Asenkron akışları yöneterek hataları azaltır
  • Modüler yapı ile bakım maliyetini düşürür
  • DOM ve tarayıcı API'larıyla etkileşimli arayüz kurar
  • Fetch ile servis entegrasyonlarını sağlamlaştırır
  • Hata ayıklama teknikleriyle sorunları hızlı izole eder
  • Kod kalitesi yaklaşımıyla ortak standardı iyileştirir
  • Temel performans ölçümüyle darboğazları erken görür

JavaScript Eğitimi Konuları

1. Kurulum, Geliştirme Ortamı ve Console

  • Node.js LTS sürüm kurulumu ve npm tanıtımı
  • VS Code, ESLint ve Prettier eklentilerinin yapılandırılması
  • Browser DevTools ile Console panelinin tanıtımı
  • console.log, console.table, console.error kullanımı
  • Strict mode ile katı sözdizimi kontrolü

2. Değişkenler: var, let ve const

  • var, let ve const arasındaki scope farkları
  • Temporal Dead Zone ve hoisting davranışı
  • const ile primitive ve referans tip farkı
  • Block scope ve function scope ayrımı
  • Modern kod yazımında const-let önceliği

3. Veri Tipleri ve Type Coercion

  • Primitive tipler: string, number, boolean, null, undefined, symbol, bigint
  • Reference tipler: object, array, function
  • typeof ve instanceof operatörleri
  • == ile === karşılaştırma farkı
  • Implicit ve explicit type coercion örnekleri
  • NaN, Infinity ve null davranışları

4. Operatörler ve Karşılaştırmalar

  • Aritmetik, atama ve karşılaştırma operatörleri
  • Mantıksal operatörler: &&, ||, !
  • Nullish coalescing (??) ve optional chaining (?.)
  • Ternary operatör ile kısa koşul ifadeleri
  • Spread (...) ve rest parametreleri

5. Koşul Yapıları ve Switch

  • if, else if, else yapısı
  • switch-case ve fall-through davranışı
  • Truthy ve falsy değerler
  • Erken return ile guard clause pattern
  • Karmaşık koşullarda kod okunurluğu

6. Döngüler ve Iterasyon

  • for, while, do-while döngüleri
  • for...of ile iterable yapılar üzerinde gezinme
  • for...in ile object property iterasyonu
  • break, continue ve label kullanımı
  • forEach ile callback tabanlı iterasyon

7. Fonksiyonlar ve Arrow Functions

  • Function declaration ve function expression
  • Arrow function syntax ve this davranışı
  • Default parameter ve rest parameter
  • Higher-order function kavramı
  • IIFE (Immediately Invoked Function Expression)

8. Scope, Closure ve Hoisting

  • Lexical scope ve scope chain
  • Closure kavramı ve pratik örnekleri
  • Hoisting: var, let, const ve function farkı
  • this bağlamı: global, method, arrow, bind/call/apply
  • Module pattern ile encapsulation

9. Object, Destructuring ve Spread

  • Object literal syntax ve shorthand properties
  • Object destructuring ile property çıkarma
  • Spread operator ile object kopyalama
  • Object.keys, Object.values, Object.entries
  • Object.assign ve immutable update patterns
  • Optional chaining ile güvenli erişim

10. Array Metotları: map, filter, reduce

  • map ile dönüşüm, filter ile süzme
  • reduce ile toplama, find ve findIndex
  • some, every, includes kontrol metotları
  • sort ile sıralama ve karşılaştırma fonksiyonu
  • flat, flatMap ile iç içe array'leri düzleştirme
  • Array destructuring ve spread kullanımı

11. DOM Manipülasyonu ve Event

  • querySelector, querySelectorAll ile element seçimi
  • classList, dataset ve attribute manipülasyonu
  • addEventListener ile event binding
  • Event bubbling, capturing ve delegation
  • Form submit, change, input event'leri
  • FormData ile form verisi toplama

12. Asenkron JavaScript: Promise ve async/await

  • Callback hell sorunu ve Promise çözümü
  • Promise.resolve, reject, then, catch, finally
  • Promise.all, Promise.race, Promise.allSettled
  • async/await ile senkron-benzeri syntax
  • try-catch ile async hata yönetimi
  • Event loop, microtask ve macrotask kavramı

13. Fetch API ve HTTP İstekleri

  • fetch syntax ve Promise tabanlı API
  • GET, POST, PUT, DELETE methodları
  • Request headers, Content-Type, Authorization
  • Response.json(), text(), blob() okuma
  • AbortController ile istek iptali
  • CORS, preflight ve cookie davranışı

14. ES6+ Modüller ve Hata Yönetimi

  • import ve export syntax: named ve default
  • Module bundler kavramı (Webpack, Vite)
  • try, catch, finally blokları
  • throw ile custom error nesneleri
  • Error, TypeError, SyntaxError sınıfları

JavaScript Eğitimi ile İlgili
Sıkça Sorulan Sorular ve Cevapları


Bu eğitimde JavaScript temelleri hangi sırayla ele alınır?

Önce dilin temel sözdizimi, kontrol akışı ve fonksiyon mantığı işlenir; ardından veri yapıları, modüler kod ve hata yönetimiyle yapı güçlendirilir. Son bölümde asenkron programlama, DOM ve Fetch API ile gerçek senaryolara bağlanır.

Asenkron programlama (Promise, async/await) hangi pratiklerle pekiştirilir?

Promise zincirleri, paralel istek yönetimi ve hata yakalama pratikleri üzerinden ilerlenir. async/await ile okunabilir akış tasarımı yapılır ve servis entegrasyonu örnekleriyle kullanım kalıcı hale getirilir.

DOM ve Fetch API konuları eğitimde nasıl kullanıma dönüştürülür?

Olay yönetimi, form işleme ve ekran güncellemeleri gibi tarayıcı senaryoları çalışılır. Fetch API ile gerçekçi HTTP istekleri kurulur, yanıt işleme ve hata durumlarıyla birlikte küçük bir akış üzerinde uygulanır.

Kod kalitesi ve hata ayıklama tarafında hangi araç ve yaklaşımlar anlatılır?

Chrome DevTools üzerinden breakpoint, network analizi ve console stratejileri işlenir. Okunabilirlik, refactor ve temel lint yaklaşımıyla ekip içi standardı güçlendirecek pratikler paylaşılır.

Eğitim içeriğini ihtiyaçlarımıza göre özelleştirebilir misiniz?

Evet. Eğitim öncesinde ihtiyaç analizi yaparak içerik ve örnekleri kurumun hedeflerine göre uyarlıyoruz. Modüller eklenebilir, bazı başlıklar derinleştirilebilir veya sadeleştirilebilir.

Eğitim yeri, yöntemi ve sertifikasyon süreci nasıl ilerliyor?

Eğitim online (canlı) veya yerinde gerçekleştirilebilir; tarih ve saatleri katılımcı grubunun uygunluğuna göre planlıyoruz. Program sonunda katılım sertifikası verilir; talep edilirse ölçme-değerlendirme ve raporlama eklenebilir.

 Vimaj