(Daha az satır, daha az tekrar, daha fit bir JavaScript – üstelik kaslı 💪)
JavaScript’te bir noktaya gelirsin…
Kod çalışıyordur ama bir tuhaflık vardır.
user.profile.address.city…user.profile.address.zip…user.profile.address.country…
Parmakların yorulur, gözlerin kayar, ruhun daralır.
İşte tam o anda JavaScript yanına gelir, protein shake’ini uzatır ve der ki:
“Bu kod biraz kilo almış.
Gel, destructuring ile diyete sokalım.” 😌
Bu yazıda destructuring’i:
- Sadece ne olduğu ile değil,
- Nerede gerçekten işe yaradığı ile,
- Hangi noktada fazla kaçtığı ile,
- Gerçek hayatta nasıl kullanıldığı ile
bol örnekli, bol kahkahalı ama net bir şekilde anlatıyoruz.
Hazırsan koşu bandını çalıştıralım 🏃♂️💻
🤔 Destructuring Nedir? (Gerçek Hayat Tanımı)
Destructuring, bir object veya array içindeki değerleri tek tek alıp, tek satırda değişkenlere ayırma işlemidir.
JavaScript’in sana söylediği şey şudur:
“Bana komple paketi getirme.
İhtiyacın olanı al, gerisini bırak.”
Bu:
- Daha kısa kod
- Daha okunabilir yapı
- Daha az tekrar
anlamına gelir.
🍱 Object Destructuring: Buzdolabından Sadece Lazım Olanı Almak
😮💨 Klasik Yöntem (Kalorili)
const user = {
name: "Cansu",
age: 25,
city: "İstanbul",
job: "Frontend Developer",
isActive: true
};
const name = user.name;
const age = user.age;
const city = user.city;
Kod çalışır ✔️
Ama:
- Uzun
- Tekrar dolu
- Bakımı zor
✨ Destructuring’li Hali (Fit Versiyon)
const { name, age, city } = user;
🎯 Aynı iş
🎯 Daha az satır
🎯 Daha temiz zihin
📌 Gerçek hayatta:
- API response okurken
- React component içinde
- Config objelerinde
olmazsa olmazdır.
🏷️ Alias Kullanımı: İsim Değiştir, Çakışma Yaşama
const { name: userName, job: profession } = user;
console.log(userName); // Cansu
console.log(profession); // Frontend Developer
🎯 Ne zaman şart?
- Aynı scope’ta
namevarsa - Daha anlamlı bir değişken adı istiyorsan
Alias = kodda sosyal mesafe 😄
🛟 Default Değerler: Undefined Krizini Önleme Sanatı
const settings = {
theme: "dark"
};
const { theme, language = "tr", fontSize = 14 } = settings;
📌 Eğer property yoksa:
undefinedyerine- Senin verdiğin değer kullanılır
Bu özellik özellikle:
- API verileri
- Kullanıcı ayarları
- Opsiyonel alanlar
için hayat kurtarır.
🧅 Nested Destructuring: Soğan Gibi Katman Katman
const user = {
name: "Cansu",
address: {
city: "İstanbul",
location: {
lat: 41.0082,
lng: 28.9784
}
}
};
const {
address: {
location: { lat, lng }
}
} = user;
✔️ Güçlü
❗ Ama dikkat:
- Okunabilirliği bozabilir
- Tek satırda show yapma isteğine kapılma
📌 Altın kural:
2 seviyeden sonrası risklidir.
🍟 Array Destructuring: Sıraya Göre Paylaşım
const colors = ["red", "green", "blue", "yellow"];
const [first, second] = colors;
Array’de:
- Sıra her şeydir
- İsimlendirme tamamen sana kalır
⏭️ Eleman Atlamak: Görmezden Gelmek Serbest
const scores = [10, 20, 30, 40];
const [first, , third] = scores;
console.log(third); // 30
JavaScript diyor ki:
“İstemediğini boş bırak, sorun yok.” 😌
🪄 Swap Magic: Geçici Değişkenle Uğraşma
let a = 1;
let b = 2;
[a, b] = [b, a];
💥 Kısa
💥 Net
💥 Havalı
Interview sorularının gizli yıldızı ⭐
🚀 Fonksiyon Parametrelerinde Destructuring (Efsane Kullanım)
function createUser({ name, age, city = "Unknown" }) {
console.log(`${name} (${age}) - ${city}`);
}
createUser({ name: "Cansu", age: 25 });
📌 Neden müthiş?
- Fonksiyon imzası temiz
- Sıra derdi yok
- Opsiyonel alanlar kolay
React’ta:
function Profile({ name, avatar, isOnline }) {
return <h1>{name}</h1>;
}
😵 En Sık Yapılan Hatalar (Ve Nasıl Kurtulursun)
❌ Olmayan Property
const { salary } = user;
console.log(salary); // undefined
✔️ Çözüm:
const { salary = 0 } = user;
❌ Yanlış İsimlendirme
const { username } = user; // user.name var
✔️ Doğrusu:
const { name: username } = user;
🧠 Altın Kurallar (Ezberle, Duvara As)
✨ Sadece ihtiyacın olanı destructure et
✨ Okunabilirliği gösterişe kurban etme
✨ Fonksiyon parametrelerinde kullan
✨ Nested yapıyı abartma
✨ Destructuring = sadelik
❤️ Son Söz
Destructuring, JavaScript’te:
“Kodunu sadeleştir, fazlalıkları bırak.”
demenin en karizmatik yoludur.
Daha az satır,
Daha az tekrar,
Daha mutlu geliştirici 😌💛

