Yazılarımız

OfisData

JAVASCRIPT NEDİR?

Sarı JS kare logosu ortada büyük 3D JS harfleri sağda ikiye bölünmüş browser dünya simgesi ve server sunucu raf ikonu

Bir web sayfasında bir butona tıkladığınızda açılan menü, sosyal medyada sonsuza dek aşağı kaydırılan akış, sepete ürün eklemek için yenilenmeyen sayfa, anlık doğrulanan e-posta alanı… Bunların hepsi JavaScript sayesinde mümkün oluyor. HTML sayfanın yapısını, CSS görünümünü oluştururken JavaScript sayfaya hayat veriyor.

JavaScript bugün dünyanın en çok kullanılan programlama dilidir. GitHub'da en çok kod yazılan, Stack Overflow'da en çok soru sorulan, iş ilanlarında en çok talep edilen dil. Sebep basit: web tarayıcılarında çalışan tek programlama dili. Dilin temel yapı taşlarını ve API'larını öğrenirken web teknolojileri dokümantasyonu en kapsamlı başvuru kaynağıdır. Bir web sayfasına dinamik davranış katmak istiyorsanız, JavaScript dışında alternatif yok.

JavaScript'i tanımanın doğal sırası var: önce dilin kendisi ve tarayıcıdaki rolü, sonra sunucudan mobile uzanan kullanım alanları, ardından framework'lerle örülmüş modern ekosistem — ve en sonda, bu haritaya bakarak çizilen gerçekçi bir öğrenme yolu.

JavaScript nedir?

JavaScript (kısaca JS), 1995'te Brendan Eich tarafından Netscape şirketinde sadece 10 günde tasarlanan bir programlama dilidir. İlk adı "Mocha", sonra "LiveScript", en son "JavaScript" oldu. Adındaki "Java" pazarlama kararıydı; o dönemde Java'nın popülerliğinden faydalanmak için seçildi. Java ile JavaScript birbirinden tamamen farklı dillerdir; sadece bazı söz dizimi benzerliği vardır.

JavaScript ne tür bir dildir?

  • Yorumlanan (interpreted): Derleme gerektirmez; tarayıcı veya Node.js doğrudan çalıştırır
  • Yüksek seviyeli: İnsan diline yakın; düşük seviye işlemlerden (bellek yönetimi gibi) kullanıcıyı korur
  • Dinamik tipli: Değişkenin tipini önceden belirtmeniz gerekmez; çalışma anında belirlenir
  • Çok paradigmalı: Hem nesne yönelimli hem fonksiyonel programlama destekler
  • Olay güdümlü (event-driven): Kullanıcı etkileşimi veya zamanlayıcılarla tetiklenen kod yazılır

JavaScript ne işe yarar?

JavaScript'in işlevi yıllar içinde sürekli genişledi. Bugün şu beş alanda baskın:

1. Web sayfası etkileşimi (orijinal alan)

JavaScript'in doğduğu yer ve hâlâ en güçlü olduğu alan. Sayfadaki HTML elemanlarını seçmek, değiştirmek, kullanıcı tıklamalarına tepki vermek bu kapsamdadır.

// Bir butona tıklanınca paragrafı değiştir
document.querySelector("button").addEventListener("click", () => {
  document.querySelector("p").textContent = "Tıklandı!";
});

// Form gönderildiğinde doğrulama yap
document.querySelector("form").addEventListener("submit", (e) => {
  const email = document.querySelector("input").value;
  if (!email.includes("@")) {
    e.preventDefault();
    alert("Geçerli e-posta girin");
  }
});

2. Sunucu tarafı geliştirme (Node.js)

2009'da Ryan Dahl tarafından geliştirilen Node.js, JavaScript'i tarayıcı dışına çıkardı. Artık aynı dille hem frontend hem backend yazılabilir. Netflix, LinkedIn, PayPal, Uber gibi büyük şirketler Node.js kullanır.

// Basit bir Express.js sunucu örneği
const express = require("express");
const app = express();

app.get("/", (req, res) => {
  res.send("Merhaba dünya");
});

app.listen(3000);

3. Mobil uygulama geliştirme

React Native ve Ionic gibi framework'ler, JavaScript ile iOS ve Android uygulamaları yazmayı mümkün kılar. Tek kod tabanından iki platform için derlenebilir. Instagram, Facebook, Discord, Bloomberg mobil uygulamaları React Native ile yazılmıştır.

4. Masaüstü uygulamalar

Electron framework'ü ile JavaScript masaüstü uygulamaları üretir. Visual Studio Code, Slack, Discord, Notion, Figma masaüstü, WhatsApp Desktop, Microsoft Teams bunlardan bazıları. Hepsi temelde JavaScript ile yazılmış.

5. Oyun geliştirme

Tarayıcıda çalışan oyunlar (HTML5 oyunları) JavaScript ile yazılır. Phaser, Three.js ve Babylon.js gibi kütüphaneler 2D ve 3D oyun motoru sunar. Mobil oyunların büyük bölümü hâlâ native (Unity, Unreal) yazılır ama tarayıcı oyunları neredeyse tamamen JavaScript'tir.

JavaScript nasıl çalışır?

JavaScript bir JavaScript motoru tarafından çalıştırılır. Tarayıcılar kendi motorlarını kullanır:

  • V8 — Google Chrome ve Node.js'in motoru
  • SpiderMonkey — Firefox'un motoru
  • JavaScriptCore — Safari'nin motoru
  • Chakra — Eski Edge'in motoru (yeni Edge V8 kullanıyor)

Tarayıcı bir HTML sayfası yüklerken, içindeki <script> etiketlerini görür ve içlerindeki kodu kendi motoruna verir. Motor kodu satır satır çalıştırır.

Chrome DevTools Console paneli dark tema açık komut satırında document querySelector ile element seçimi mavi prompt çıktısı ve console log çıktıları satır satır

Senkron ve asenkron kavramı

JavaScript tek iş parçacıklıdır (single-threaded); yani aynı anda tek satır kod çalıştırır. Ama asenkron yapısı sayesinde sunucu cevabı beklerken sayfayı dondurmaz.

console.log("1");

setTimeout(() => {
  console.log("3");
}, 1000);

console.log("2");

// Çıktı sırası: 1, 2, 3 (setTimeout 1 saniye sonra çalışır)

Bu davranış event loop adı verilen mekanizmayla sağlanır. JavaScript'in en kafa karıştırıcı ama en güçlü tarafı bu yapıdır.

JavaScript syntax temelleri

Değişken tanımlama

let isim = "Ahmet";        // Değişebilir
const yas = 30;             // Sabit (değişmez)
var eski = "deprecated";    // Eski tarz, artık kullanılmıyor

Veri tipleri

let metin = "Merhaba";      // String
let sayi = 42;               // Number
let aktif = true;            // Boolean
let bos = null;              // Null
let tanimsiz;                // Undefined
let liste = [1, 2, 3];       // Array
let nesne = { ad: "Ali" };   // Object

Fonksiyonlar

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

// Arrow function (modern)
const topla = (a, b) => a + b;

// Çağrılması
console.log(topla(2, 3));  // 5

Koşullar

if (yas >= 18) {
  console.log("Yetişkin");
} else {
  console.log("Çocuk");
}

Döngüler

// For döngüsü
for (let i = 0; i < 5; i++) {
  console.log(i);
}

// For-of (array için)
const meyveler = ["elma", "armut", "muz"];
for (const m of meyveler) {
  console.log(m);
}

Modern JavaScript ekosistemi

JavaScript bugün tek başına değil, geniş bir ekosistemle birlikte gelir.

Framework ve kütüphaneler

  • React — Facebook'un geliştirdiği, en popüler frontend kütüphanesi
  • Vue.js — Daha öğrenmesi kolay alternatif framework
  • Angular — Google'ın geliştirdiği, kurumsal projelerde tercih edilen framework
  • Svelte — Derleme aşamasında optimize eden modern alternatif
  • Next.js, Nuxt.js — React ve Vue üzerine kurulu, server-side rendering destekleyen meta framework'ler

Geliştirme araçları

  • Node.js — Tarayıcı dışında JavaScript çalıştırma ortamı
  • npm — Paket yöneticisi, milyonlarca hazır kütüphaneye erişim
  • Webpack, Vite, esbuild — Modül bundler'lar, kodu derleyip optimize eden araçlar
  • TypeScript — JavaScript üzerine eklenmiş tip sistemi; büyük projelerde tercih edilir

JavaScript öğrenme yol haritası

1-2. ay: Temel JavaScript

  • Değişkenler, veri tipleri, operatörler
  • Koşullar (if/else, switch) ve döngüler (for, while)
  • Fonksiyonlar ve arrow function syntax'i
  • Array ve object metodları
  • DOM manipülasyonu (querySelector, addEventListener)

3-4. ay: Ara seviye

  • Asenkron programlama (Promise, async/await)
  • Fetch API ile sunucu çağrıları
  • Modül sistemi (import/export)
  • Hata yönetimi (try/catch)
  • Closure ve scope kavramları

5-6. ay: Modern framework

Temel JavaScript sağlam oturduktan sonra bir framework seçilir. React ilk tercih için yaygın; Vue daha öğrenmesi kolay alternatif. Yapılandırılmış bir başlangıç için React eğitim programı tipik bir başlangıç noktası olur.

6+. ay: Backend ve özelleşme

  • Node.js ile backend
  • TypeScript
  • State management (Redux, Zustand)
  • Test yazma (Jest, Vitest)
  • CI/CD ve deployment
Altı aylık JavaScript öğrenme yol haritası yatay dört aşama teal TEMEL coral ARA amber FRAMEWORK navy BACKEND her aşamada konu çipleri DOM Promise React Node etiketleri

JavaScript ile yapabilecekleriniz

Akıcı JavaScript bilen bir geliştiricinin ürettiği projeler:

  • Modern web siteleri (frontend)
  • Backend API'lar (Node.js + Express/NestJS)
  • Mobil uygulamalar (React Native)
  • Masaüstü uygulamalar (Electron)
  • Chrome eklentileri
  • Discord/Telegram botları
  • Otomasyon scriptleri
  • Görselleştirme dashboard'ları (D3.js)
  • 2D/3D oyunlar
  • Kripto cüzdan ve dApp arayüzleri

Aynı dilde bu kadar farklı alana erişim, JavaScript'i öğrenmenin yatırım getirisini çok yüksek yapıyor.

Türkiye'de JavaScript geliştirici maaşları

2026 itibarıyla İstanbul, Ankara, İzmir ortalamaları (brüt aylık):

  • Junior (0-2 yıl): 50.000-80.000 TL
  • Mid (2-5 yıl): 80.000-150.000 TL
  • Senior (5+ yıl): 150.000-280.000 TL
  • Lead/Architect: 250.000-450.000 TL
  • Yurt dışı remote: 4.000-15.000 USD/EUR

Yurt dışı remote çalışan Türk JavaScript geliştiricilerinin sayısı her yıl artıyor. Döviz farkı sayesinde Türkiye maaş bandının üzerinde gelir mümkün.

Önceliklendirilecek Konular

JavaScript, 1995'te 10 günde tasarlanan basit bir tarayıcı dili olarak başladı; bugün dünyanın en yaygın kullanılan programlama dili haline geldi. Web sayfası etkileşimi, sunucu tarafı geliştirme, mobil uygulamalar, masaüstü programları, oyunlar ve daha fazlası tek bir dille mümkün. Modern ekosistem (React, Node.js, TypeScript) sayesinde profesyonel projeler hızla geliştirilebiliyor. Yeni başlayan bir geliştirici için JavaScript öğrenmek, kariyer için neredeyse zorunlu adım. Sistemli bir başlangıç için kapsamlı bir JavaScript eğitimi programıyla başlayıp gerçek projelerde uygulamak en pratik yoldur.

 Vimaj