Temel Yapıdan Arrow Fonksiyonlarına Kadar (Ama Gerçekten Kadar)
JavaScript’te fonksiyon bilmeden kod yazmak şuna benzer:
👉 Uzaktan kumandası olmayan televizyon
👉 Navigasyonsuz uzun yol
👉 Google’sız internet
Yani… olur ama zor 😅
Fonksiyonlar:
- Kod tekrarını bitirir
- Kodu okunur yapar
- “Bu neydi ya?” cümlesini hayatından siler
1️⃣ Klasik Fonksiyon (Function Declaration)
“Ben JavaScript’in Temel Taşıyım”
Başlangıç noktamız burası. JavaScript’in en net, en öğretici fonksiyon tipi.
function selamVer() {
console.log("Merhaba Dünya 👋");
}
selamVer();
🔍 Bu kodda ne oluyor?
function
👉 “Birazdan fonksiyon geliyor, hazırlanın” sinyaliselamVer
👉 Fonksiyonun adı
(İsim önemli! Adsız fonksiyonlar biraz asi olur){}
👉 Fonksiyonun çalışma alanı
Burada yazılan her şey sadece bu fonksiyona aittirselamVer()
👉 Fonksiyonu çağırıyoruz
(Yazmak yetmez, çağırmazsan çalışmaz. JavaScript tembel değildir ama pasiftir.)
📌 Pratik İpucu:
Fonksiyonun adı ne yaptığını anlatmalı
❌ func1()
✅ kullaniciGirisYap()
2️⃣ Parametreli Fonksiyonlar
“Dışarıdan Veri Alırım, İşlerim”
Fonksiyonlar tek başına yaşamak istemez.
Parametre alırlar, veriyle çalışırlar, sonuç üretirler.
function selamla(isim) {
console.log("Merhaba " + isim + " 😊");
}
selamla("Cansu");
🧠 Mantık çok basit:
isim→ Fonksiyonun içindeki yer tutucu"Cansu"→ Dışarıdan gönderilen gerçek değer
Fonksiyon şunu diyor:
“Bana bir isim ver, ben de selamlayayım.”
Birden Fazla Parametre
function topla(a, b) {
return a + b;
}
let sonuc = topla(3, 7);
console.log(sonuc); // 10
🧠 Burada kritik nokta: return
return
👉 Fonksiyonun çıktısıdırreturnolmazsa:
👉 Fonksiyon çalışır ama boş döner
📌 Altın Kural:console.log ≠ return
console.log→ ekrana yazarreturn→ sonucu dışarı verir
3️⃣ Function Expression
“Fonksiyonum Var Ama Değişkene Saklarım”
JavaScript’te fonksiyonlar birinci sınıf vatandaştır.
Yani değişkene atanabilirler.
const carp = function (a, b) {
return a * b;
};
console.log(carp(4, 5)); // 20
🧩 Burada fark ne?
- Fonksiyonun adı yok
- Değişkenin adı var (
carp) - Fonksiyon artık bir değer gibi
📌 Ne zaman kullanılır?
- Fonksiyonu sonradan değiştirmek istemiyorsan
- Daha kontrollü yapı istiyorsan
- Modern JS yazıyorsan
4️⃣ Arrow Function
“Kısa, Net, Havalı” 😎⚡
JavaScript diyor ki:
“Bu kadar uzun yazmana gerek yok.”
Klasik vs Arrow
// Klasik
function topla(a, b) {
return a + b;
}
// Arrow
const topla = (a, b) => {
return a + b;
};
Ama bu sadece başlangıç…
5️⃣ Arrow Function – Süper Kısaltma Modu 🏎️
Tek satırlık işlem mi?
JavaScript seni anlıyor:
const topla = (a, b) => a + b;
🧠 Ne oldu?
{}gittireturnuçtu- Kod sadeleşti
📌 Kural:
Tek satır → otomatik return
6️⃣ Tek Parametre? Parantezi de At! 🎯
const karesiniAl = x => x * x;
console.log(karesiniAl(6)); // 36
JavaScript diyor ki:
“Bir parametre varsa, paranteze gerek yok.”
Ama iki parametre varsa, mecbur:
(a, b) => a + b
7️⃣ Arrow Function + Gerçek Hayat Örnekleri
Kullanıcı Yaşı Kontrolü
const yasKontrol = yas => yas >= 18 ? "Girebilirsin 🎉" : "Yasak 🚫";
console.log(yasKontrol(20));
🧠 Mini mantık:
?→ doğruysa:→ yanlışsa
Liste İçinde Kullanım (Bonus 🎁)
const sayilar = [1, 2, 3, 4, 5];
const kareler = sayilar.map(sayi => sayi * sayi);
console.log(kareler); // [1, 4, 9, 16, 25]
📌 Arrow function array işlemlerinde kraldır 👑
8️⃣ Arrow vs Normal Function
Mini Kapışma ⚔️
| Özellik | Normal Function | Arrow Function |
|---|---|---|
| Yazım | Uzun | Kısa |
| Okunabilirlik | Orta | Yüksek |
this davranışı | Karışık | Daha net |
| Modern projeler | Az | 🔥 Çok |
📌 Gerçek Hayat Tavsiyesi:
- Basit işlemler → Arrow
- Olaylı
thiskullanımı → Normal Function
9️⃣ En Sık Yapılan Hatalar 🚨
❌ Fonksiyonu çağırmamak
function selam() {
console.log("Selam");
}
// çalışmaz
✅ Çağır:
selam();
❌ return ile console.log karıştırmak
❌ Her yere arrow function yazmak
❌ Okunabilirliği feda etmek
🎯 Büyük Özet (Bunu Okuyan JS Öğrenir)
- Fonksiyon = tekrar kurtarıcısı
- Parametre = dış dünyayla iletişim
- Return = fonksiyonun hediyesi 🎁
- Arrow function = modern JS’nin yıldızı ⭐
JavaScript’te fonksiyonları çözdün mü:
Kod akmaya başlar, hata azalır, özgüven artar 💪
