JavaScript Dersleri

JavaScript Nesnelerinde Veri Erişimi

eminbasbayan

eminbasbayan

4 dk okuma
JavaScript Nesnelerinde Veri Erişimi
🔍 Büyütmek için tıklayın

JavaScript, günümüzde en çok kullanılan programlama dillerinden biri olarak, verileri saklamak ve yönetmek için birçok farklı yapı sunar. Bu yapılardan biri olan object (nesne), gerçek dünyadaki kavramları tanımlamak için oldukça uygun bir araçtır. Nesneler sayesinde birden fazla veriyi bir arada tutabilir ve bu verilere kolaylıkla erişebiliriz.

Bu makalede, JavaScript nesnelerinde veriye nasıl erişileceğini, dot notasyonu ve bracket notasyonu farklarını, dinamik erişim senaryolarını ve anahtarların (key) veri türlerinin nasıl işlendiğini örneklerle açıklayacağız.

Nesnelerle Veri Tutma

JavaScript’te nesneler, birden fazla bilgiyi bir arada tutmak için kullanılır. Bu bilgiler, anahtar-değer (key-value) çiftleri şeklinde yazılır. Her anahtar, karşısındaki değere bir isim gibi davranır. Aşağıdaki örnekte bir araba bilgilerini saklayan bir nesne tanımlanmıştır:

const car = { brand: "Toyota", model: "Corolla", year: 2022 };

Bu nesnede "brand", "model" ve "year" anahtarları aracılığıyla arabanın markası, modeli ve üretim yılı gibi bilgiler tutulur.

Dot (Nokta) Notasyonu ile Erişim

Dot notasyonu, nesnelerden bilgi almak için en çok kullanılan ve en sade yoldur. Sadece nesne adını yazıp, ardından bir nokta koyup almak istediğimiz anahtarı yazmamız yeterlidir:

console.log(car.brand); // "Toyota" console.log(car.year); // 2022

Bu yöntemin en büyük avantajı okunabilirliğin yüksek olmasıdır. Ancak yalnızca sabit anahtar adları için uygundur. Eğer erişilmek istenen anahtar adı değişkense, dot notasyonu yetersiz kalır.

Bracket (Köşeli Parantez) Notasyonu ile Erişim

Dot notasyonuna alternatif olan bracket notasyonu ise daha esnektir. Anahtarları string olarak ya da değişken aracılığıyla verebiliriz:

console.log(car["model"]); // "Corolla"

Bu notasyonun en güçlü özelliği, anahtar adını değişken olarak da verebilmemizdir:

const keyName = "year"; console.log(car[keyName]); // 2022

Bu sayede hangi veriye erişileceğini dinamik olarak belirlemek mümkün olur. Örneğin bir kullanıcıdan alınan değeri kullanarak bir nesneden bilgi çekmek istiyorsak, bracket notasyonu tek seçenektir.

Dot ve Bracket Notasyonlarının Karşılaştırması

İki yöntemi karşılaştırmak için aynı nesne üzerinden ilerleyelim:

const student = { name: "Zeynep", grade: 11, school: "Fen Lisesi" };

Dot Notasyonu:

console.log(student.name);  // "Zeynep"

Bracket Notasyonu (string ile):

console.log(student["school"]); // "Fen Lisesi"

Bracket Notasyonu (değişkenle):

const property = "grade"; console.log(student[property]); // 11

Dot notasyonu sadece sabit anahtar adlarıyla çalışırken, bracket notasyonu hem sabit hem değişkenli kullanımlara açıktır. Ayrıca, bracket notasyonunda tırnak işaretleri zorunludur; dot notasyonunda ise kullanılmaz ve kullanılırsa hata alınır.

Nesne Anahtarlarının Türü Her Zaman String midir?

JavaScript’te nesne içinde tanımladığımız tüm anahtarlar (key), otomatik olarak string (yazı) tipine dönüştürülür. Yani sayı, boolean ya da null gibi değerler kullansanız bile, JavaScript onları arka planda string’e çevirir.

Aşağıdaki örneği inceleyelim:

const results = { 1: "Başarılı", true: "Doğru", null: "Bilinmiyor" };

Bu nesnede 1, true ve null gibi farklı türler kullanılmış gibi gözükse de, aslında JavaScript bunları "1", "true" ve "null" stringlerine dönüştürür.

Bu nedenle aşağıdaki tüm erişimler geçerlidir:

console.log(results[1]); // "Başarılı" console.log(results["1"]); // "Başarılı" console.log(results[true]); // "Doğru" console.log(results["true"]); // "Doğru"

Bu durum, farklı türlerin anahtar olarak kullanılmasında dikkatli olunması gerektiğini gösterir. Çünkü true ile "true" aynı şeyi ifade eder.

Hatalı Erişim Durumları

Eğer bir nesnede olmayan bir anahtara erişmeye çalışırsak, JavaScript bize "undefined" değerini döner:

console.log(student["email"]); // undefined

Bu, kodun hata vermesini engeller ama bize o anahtarın olmadığını haber eder. Dolayısıyla, bazı durumlarda kontrol mekanizmaları kurmak gerekebilir.

Gerçek Hayatta Dinamik Erişime Örnek

Bir sınav sisteminde öğrencinin notlarına göre bir mesaj göstermek istediğimizi düşünelim. Notları yıllara göre tutan bir nesne tanımlayalım:

const scores = { 2019: 85, 2020: 92, 2021: 78 }; const selectedYear = 2020; console.log(`Öğrencinin ${selectedYear} yılı notu: ${scores[selectedYear]}`); // "Öğrencinin 2020 yılı notu: 92"

Burada selectedYear değişkeni kullanıcıdan gelecek bir değer olabilir. Bu senaryoda bracket notasyonu kullanılmazsa, dinamik yapı kurulamaz.

Sonuç

JavaScript nesnelerinde veri alma süreci, küçük farklar gibi görünen ancak büyük anlamlar taşıyan iki temel yöntemle gerçekleştirilir: dot notasyonu ve bracket notasyonu. Her iki yöntemin avantajları ve sınırları vardır:

  • Dot notasyonu, okunması kolay ve sabit veri erişimi için idealdir.
  • Bracket notasyonu, değişkenli (dinamik) erişim için gereklidir ve string dışındaki türleri destekler gibi görünse de tüm anahtarlar string'e çevrilir.

Programlama yaparken hangi yöntemi ne zaman kullanacağınızı bilmek, kodunuzu hem hatasız hem de daha esnek hale getirecektir.

Bu bilgilerle, artık JavaScript nesneleriyle çalışırken hem sabit hem de değişken anahtarlarla veriye nasıl ulaşacağınızı rahatlıkla uygulayabilirsiniz.

Etiketler

#Eğitimler#JavaScript Dersleri

İlgili Yazılar

Bu konuyla ilgili diğer yazılarımızı da inceleyebilirsiniz

Web Geliştirmede Neden JavaScript'e İhtiyacımız Var?
JavaScript Dersleri

Web Geliştirmede Neden JavaScript'e İhtiyacımız Var?

Web geliştirme, temel olarak üç ana yapı taşı üzerine kuruludur: **HTML, CSS ve JavaScript**. Bu üçlüden **HTML**, sayfanın iskeletini oluşturur, **CSS**, tasarımı ve görsel düzenlemeleri yapar

2 dk
JavaScript'e Giriş: JavaScript Nedir?
JavaScript Dersleri

JavaScript'e Giriş: JavaScript Nedir?

Web geliştirme yolculuğunuzda büyük bir adım atıyorsunuz! HTML ve CSS ile statik web sayfaları oluşturmayı öğrendiniz, ancak şimdi JavaScript ile sayfanıza hareket ve etkileşim katmanını eklemeye hazırsınız. JavaScript, web sayfalarını dinamik hale getiren ve kullanıcı etkileşimlerini yöneten

3 dk
JavaScript Değişkenler (Variables) Nedir?
JavaScript Dersleri

JavaScript Değişkenler (Variables) Nedir?

JavaScript, web geliştirme dünyasının en önemli dillerinden biridir. Dinamik web siteleri, interaktif uygulamalar, oyunlar ve animasyonlar gibi birçok alanda kullanılır. Ancak, bu tür gelişmiş uygulamalar oluşturabilmek için önce JavaScript'in temellerini anlamak gerekir. Bu

4 dk
JavaScript İlkel (Primitive) Veri Tipleri
JavaScript Dersleri

JavaScript İlkel (Primitive) Veri Tipleri

JavaScript, modern web geliştirmede vazgeçilmez bir programlama dilidir. Web sitelerini daha dinamik hale getirmek, etkileşim eklemek ve hatta oyunlar ve uygulamalar geliştirmek için kullanılır. Ancak, bu eğlenceli ve güçlü özelliklere ulaşmadan önce, JavaScript'in temellerin

4 dk
JavaScript'te Sayılar ve Matematiksel Operatörler
JavaScript Dersleri

JavaScript'te Sayılar ve Matematiksel Operatörler

JavaScript, modern web geliştirmede en yaygın kullanılan programlama dillerinden biridir. Bu dilde çalışırken sayılarla sıkça işlem yaparız. İster bir hesap makinesi uygulaması geliştiriyor olun, ister bir oyundaki puan sistemini kodluyor olun, sayılar kaçınılmaz bir parçadır. JavaScri

4 dk
JavaScript'te Boolean Veri Tipi
JavaScript Dersleri

JavaScript'te Boolean Veri Tipi

JavaScript'ı öğrenmeye yeni başlayanlar için veri tipleri oldukça önemlidir. Bu yazıda, en temel veri tiplerinden biri olan **Boolean (mantıksal) değerleri** inceleyeceğiz. Boolean değerleri, programlamada sıklıkla kullanılan ve kodlarımızın man

3 dk