JAVASCRIPT NEDİR?

Vimaj10 dk okuma
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

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. Bir web sayfasına dinamik davranış katmak istiyorsanız, JavaScript dışında alternatif yok.

1. 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. Dilin temel yapı taşlarını ve API'larını öğrenirken web teknolojileri dokümantasyonu en kapsamlı başvuru kaynağıdı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

2. 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.

3. 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.

4. 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);
}

5. 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

6. 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

7. 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.

8. 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.

9. Ö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.

Sıkça Sorulan Sorular

JavaScript ile Java aynı dil mi?

Hayır, bu yaygın bir karışıklıktır. Java ile JavaScript birbirinden tamamen farklı dillerdir. JavaScript 1995'te Brendan Eich tarafından tasarlandı; ismindeki 'Java' o dönemin pazarlama tercihiydi çünkü Java popülerdi. Aralarında sadece bazı söz dizimi benzerliği var. Java masaüstü ve Android uygulamalarda yaygın; JavaScript ise tarayıcılarda, sunucularda ve mobil hibrit uygulamalarda kullanılır.

JavaScript öğrenmek ne kadar sürer?

Temel JavaScript'i (değişken, fonksiyon, döngü, DOM) düzenli çalışmayla 2-3 ayda sökersiniz. Modern bir framework (React, Vue) ekleyip ilk projelerinizi yapmak 6 ay alır. Profesyonel düzeyde JavaScript geliştirici olmak ise 12-18 ay disiplinli pratik gerektirir. Sürekli öğrenme alanıdır; sektör her yıl yeni araçlar ve yaklaşımlar ortaya çıkarır.

TypeScript JavaScript'in yerini alacak mı?

Tamamen değil ama büyük projelerde TypeScript baskın hale geliyor. TypeScript, JavaScript üzerine eklenmiş tip sistemi; nihayetinde JavaScript'e derlenir. Büyük takım çalışmalarında, kurumsal projelerde ve karmaşık uygulamalarda TypeScript hatayı erken yakalama avantajı sağlar. Küçük projelerde ve hızlı prototiplerde saf JavaScript hâlâ tercih edilir. İkisi de bir arada yaşamaya devam edecek.

Hangi framework öğrenmeliyim: React, Vue yoksa Angular?

İş ilanlarına ve sektör eğilimine bakarsak React en yaygın talep edilen framework'tür; Türkiye'de de yurt dışında da. Vue daha kolay öğrenilir ve Çin pazarında baskın. Angular kurumsal projelerde (bankacılık, sigorta) tercih ediliyor. Yeni başlayanlar için pratik tavsiye: React ile başlamak. İlk işi bulduktan sonra ihtiyaca göre diğerlerine geçmek mümkün; çünkü temel JavaScript bilgisi hepsinde geçerli.

Vanilla JavaScript ile React arasındaki fark nedir?

Vanilla JavaScript saf JavaScript'tir; framework veya kütüphane kullanılmadan yazılır. React ise UI bileşenlerini yönetmek için kütüphane. Vanilla JS ile küçük sayfalar verimli yapılır; ama büyük arayüzlerde her etkileşimde DOM güncelleme manuel ve karmaşık olur. React 'component-based' yaklaşımı ile bu karmaşıklığı yönetir; durum (state) değişince ilgili bileşeni otomatik günceller.

Backend için JavaScript (Node.js) Python'a göre nasıl?

İkisi de modern, güçlü ve geniş ekosistemli dillerdir. Node.js asenkron yapısı sayesinde yüksek eşzamanlı isteklerde (sohbet uygulamaları, gerçek zamanlı sistemler) Python'dan daha iyi performans verir. Python ise veri bilimi, makine öğrenmesi ve hızlı script yazımında üstündür. Web geliştirme tek dillilik avantajı için Node.js (frontend ile aynı dil); veri/AI için Python tercih edilir.

JavaScript ile mobil uygulama yapmak yeterince hızlı mı?

React Native ile yapılan uygulamalar native (Swift, Kotlin) uygulamaların yaklaşık yüzde 90 performansını verir. Çoğu iş uygulaması, e-ticaret, sosyal medya ve içerik uygulaması için bu fark gözle görülmez. Ağır grafik gerektiren oyunlar, AR/VR uygulamaları ve sistem kaynağına derin erişim gerektiren araçlar için native dilleri tercih edilir. Mobil uygulamaların yüzde 80'i için React Native yeterli performansı sağlar.

 Vimaj