JavaScript öğrenirken herkesin yaşadığı bir an vardır:
“Tamam array’i çözdüm… e şimdi bu object ne ya?”
İşte bu yazı, o sorunun uzun, eğlenceli ve pratik cevabı.
🧩 1. Object Nedir? (JS’in Lego Seti)
Object, JavaScript’te birden fazla veriyi anlamlı bir bütün halinde tutan yapıdır.
Tek bir değişkenle bir sürü bilgiyi taşırsın.
Tıpkı bir oyuncu profili gibi 🎮
const player = {
username: "NightCoder",
level: 12,
score: 8450,
isOnline: true
};
Burada ne oluyor?
player→ ana nesnemizusername,level→ key (anahtar)"NightCoder",12→ value (değer)
📌 İpucu:
Object’ler düzensiz veri çöplüğü değil,
aksine anlamlı gruplama aracıdır.
🗂️ 2. Object Oluşturmanın Yolları (Klasik ve Modern)
✅ En Yaygın Yol (Object Literal)
const car = {
brand: "BMW",
model: "320i",
year: 2022
};
✔️ Okunaklı
✔️ Hızlı
✔️ %99 projede bu kullanılır
🧪 Object Constructor (Nadir ama bilmek şart)
const car = new Object();
car.brand = "BMW";
car.model = "320i";
👎 Daha uzun
👎 Daha karışık
📌 Ama “JS bu şekilde de çalışır” bilgisini cebine koy.
🔑 3. Property’lere Erişim (Object’in Kapısını Açmak)
1️⃣ Nokta Notasyonu (Default Favori)
console.log(car.brand); // BMW
🟢 Temiz
🟢 Hızlı
🟢 Okunaklı
2️⃣ Köşeli Parantez (Gizli Süper Güç)
console.log(car["model"]); // 320i
Ne zaman lazım olur?
const keyName = "year";
console.log(car[keyName]); // 2022
📌 Altın Kural:
Key değişkense → köşeli parantez
Key sabitse → nokta notasyonu
➕ 4. Object Güncelleme, Ekleme, Silme (CRUD Party 🎉)
➕ Yeni property eklemek
car.color = "Black";
JS’in tepkisi:
“Tamamdır, ekledim bile.”
✏️ Var olanı güncellemek
car.year = 2024;
Eski değer gider, yenisi gelir. Drama yok.
🗑️ Silmek (Dikkatli ol!)
delete car.model;
⚠️ Uyarı:delete performansı etkileyebilir.
Çok sık kullanma, gerekmedikçe dokunma.
🛠️ 5. Method’lar: Object İş Yapmaya Başlıyor
Object sadece “bilgi deposu” değildir.
Aynı zamanda aksiyon alır.
const user = {
name: "Ayşe",
login() {
console.log("Kullanıcı giriş yaptı");
}
};
user.login();
Ne oldu?
- Object içinde fonksiyon tanımladık
- Bu fonksiyonun adı artık method
📌 Gerçek hayatta:
loginlogoutcalculateTotalsendMessage
Hepsi method’dur.
👑 6. this – “Ben Kimim?” Krizi
this, JavaScript’in en yanlış anlaşılan ama en güçlü kelimesi.
const user = {
name: "Mehmet",
greet() {
console.log(`Merhaba, ben ${this.name}`);
}
};
user.greet();
this burada ne?
👉 user object’i
📌 Akılda kalıcı tanım:
this, fonksiyonun kimin tarafından çağrıldığına bakar.
❌ Arrow Function Tuzak!
const user = {
name: "Elif",
greet: () => {
console.log(this.name);
}
};
Sonuç: undefined 🤯
📌 Neden?
Arrow function’lar kendi this’ini oluşturmaz.
💡 Kural:
Object method’u yazıyorsan → normal function
🔁 7. Object İçinde Dolaşmak (Turist Modu 🧭)
🔄 for...in
for (let key in car) {
console.log(key, car[key]);
}
key→ property adıcar[key]→ değeri
🧠 Modern ve Şık Yöntemler
Object.keys(car); // ["brand", "year", "color"]
Object.values(car); // ["BMW", 2024, "Black"]
Object.entries(car);
Object.entries(car).forEach(([key, value]) => {
console.log(`${key}: ${value}`);
});
📌 API response’larını işlerken hayat kurtarır.
🧊 8. Object.freeze & Object.seal (Koruma Kalkanları 🛡️)
❄️ Object.freeze
Object.freeze(car);
car.year = 2030; // ❌ Çalışmaz
Hiçbir şey:
- eklenemez
- silinemez
- değiştirilemez
🔒 Object.seal
Object.seal(car);
car.year = 2030; // ✅
delete car.color; // ❌
📌 Fark:
freeze→ full kilitseal→ sadece mevcut alanlar değişir
🧠 9. Pratik Hayat Bilgileri (Bunlar Altın Değerinde 💎)
- API’den gelen veri = object
- React
props= object - State = object
- JSON = object’in metin hali
🧪 Object Kopyalama (Çok Önemli!)
const newCar = { ...car };
⚠️ Direkt eşitleme yaparsan:
const newCar = car; // Aynı referans!
Birini değiştirirsin, diğeri de değişir 😬
🎯 Kapanış: Object’lerle Barış İlanı 🕊️
Object’ler:
- JavaScript’in omurgasıdır
- “Gerçek hayat” kodlamasının anahtarıdır
- Temiz kodun gizli silahıdır
Eğer object’leri gerçekten anlarsan:
- Kodun daha okunur olur
- Bug’lar azalır
- “Bu işi biliyor” hissi gelir 😎

