JAVASCRIPT NEDİR?

JavaScript kodu ve web tarayıcısı geliştirici araçları konsol paneli

Bir web sayfasındaki butona tıkladınız, sayfa yenilenmeden içerik değişti. Form doldurdunuz, hata mesajı anında göründü. Harita üzerinde sürükleme yaptınız, görüntü aktı. Bunların hepsinin arkasında JavaScript var. Web'in görünür yüzüne hayat katan tek programlama dili.

JavaScript Nedir?

JavaScript, 1995 yılında Netscape'te çalışan Brendan Eich tarafından sadece 10 günde oluşturulan bir programlama dilidir. İsmine rağmen Java ile ilgisi yoktur — pazarlama kararlarının bir ürünüdür. ECMAScript standardıyla gelişmeye devam eden JavaScript, bugün dünyanın en yaygın kullanılan programlama dili konumuna geldi.

JavaScript başlangıçta yalnızca tarayıcıda çalışan bir dil olarak tasarlandı. 2009'da Node.js'in ortaya çıkmasıyla sunucu tarafında da kullanılabilir hale geldi. Şu an JavaScript; web frontend, backend, mobil uygulama ve hatta masaüstü uygulama geliştirmede kullanılıyor.

JavaScript Temel Sözdizimi

Değişkenler ve Veri Tipleri

// Değişken tanımlama (let ve const tercih edilir, var eski)
let ad = "Ahmet";
const PI = 3.14159;

// Temel veri tipleri
let sayi = 42;           // number
let metin = "Merhaba";   // string
let dogru = true;        // boolean
let bos = null;          // null
let tanimsiz;            // undefined

// Modern string birleştirme (template literal)
let mesaj = `Merhaba ${ad}, bugün saat ${new Date().getHours()}:00`;
console.log(mesaj);

Fonksiyonlar

// Klasik fonksiyon
function topla(a, b) {
  return a + b;
}

// Arrow function (modern sözdizimi)
const carp = (a, b) => a * b;

// Varsayılan parametre
const selamla = (isim = "Ziyaretçi") => {
  return `Hoş geldiniz, ${isim}!`;
};

console.log(topla(5, 3));   // 8
console.log(carp(4, 6));    // 24
console.log(selamla());     // Hoş geldiniz, Ziyaretçi!

DOM Manipülasyonu

DOM (Document Object Model), HTML sayfasının JavaScript tarafından erişilebilen yapısal temsilidir. JavaScript, DOM üzerinden sayfa içeriğini dinamik olarak değiştirebilir.

// Element seç
const baslik = document.getElementById('ana-baslik');
const butonlar = document.querySelectorAll('.btn');

// İçerik değiştir
baslik.textContent = 'Yeni Başlık';
baslik.style.color = '#e74c3c';

// Yeni element ekle
const yeniParagraf = document.createElement('p');
yeniParagraf.textContent = 'Dinamik olarak eklendi.';
document.body.appendChild(yeniParagraf);

// Olay dinleyici
document.getElementById('kayit-btn').addEventListener('click', function() {
  alert('Form gönderildi!');
});
Frontend geliştirici JavaScript kodu yazarken tarayıcı ve editör ekranda açık

Asenkron JavaScript

JavaScript tek iş parçacıklıdır (single-threaded). Bu, sunucudan veri beklerken sayfanın donmasına yol açabilirdi. Asenkron programlama bu sorunu çözer: uzun sürecek işlemler arka planda devam ederken JavaScript diğer kodları çalıştırmaya devam eder.

Fetch API ve async/await

// Modern asenkron: async/await
async function kullanicilariGetir() {
  try {
    const cevap = await fetch('https://api.ornek.com/kullanicilar');
    const veriler = await cevap.json();
    
    veriler.forEach(kullanici => {
      console.log(`${kullanici.id}: ${kullanici.ad}`);
    });
  } catch (hata) {
    console.error('Hata:', hata.message);
  }
}

kullanicilariGetir();

JavaScript Ekosistemi

JavaScript'in gücü büyük ölçüde ekosisteminden gelir. npm (Node Package Manager) üzerinde milyonlarca paket bulunmaktadır.

  • Frontend çerçeveleri: React, Vue.js, Angular — modern web arayüzleri için
  • Backend: Node.js + Express, NestJS — sunucu tarafı geliştirme
  • Fullstack: Next.js, Nuxt.js — hem frontend hem backend
  • Mobil: React Native — JavaScript ile native mobil uygulama
  • Masaüstü: Electron — JavaScript ile masaüstü uygulama (VS Code bu şekilde yapılmış)

TypeScript: JavaScript'in Güçlü Versiyonu

TypeScript, Microsoft tarafından geliştirilen ve JavaScript'e statik tip sistemi ekleyen bir üst kümedir. TypeScript kodu derlenerek standart JavaScript'e dönüştürülür. Büyük ölçekli projelerde tip güvenliği, otomatik tamamlama ve hata yakalama açısından ciddi avantaj sağlar. Angular ve NestJS TypeScript ile yazılmıştır; React projeleri de giderek artan oranda TypeScript tercih ediyor.

JavaScript'i ve modern framework ekosistemini sistematik biçimde öğrenmek için JavaScript eğitimi programlarına göz atabilirsiniz.