26 Mayıs 2014 Pazartesi

Javascript Nesne ( OBJE ) Hakkında Herşey

İleri düzey javascript kodlamada en çok ihtiyaç duyulan Objeler yani nesneler bir kaç farklı yapıya ayrılır. Genel türleri Number, String, Boolean, Undefined ve Null iken diğer adları complex data type (karmaşık veri tipi), the Object data type (nesnel veri tipi) dir.
Peki OBJE (Nesne) Tam Olarak Nedir?
Obje konusunda pek kafa karıştırmaya gerek yok. HTML de bulunan unordered list gibi düşünürseniz nesne konusunu kafanızda daha iyi yerleşmiş olur. Bu listede bulunan her bir element property olarak adlandırılır. Dikkat edilmesi gereken husus propery isimleri unique olması gerektiğidir.

var myFirstObject = {isim: "Barış", soysim: "Manço"};
Yukarıda ki örnekte göründüğü gibi isim ve değer ilişkisi söz konusudur. Burada property name 'isim:' ve 'soyisim' dir. Değerleri ise 'Barış' ve 'Manço' dur.
Property değeri string veya number olabilir. Fakat string ve number property name'lerin çağrılma şekli farklıdır.
var kilo = {60: "Zayif", 150:"Obez"};
console.log(kilo.60) // Hata verecektir
// Number gibi bir değere şu şekilde ulaşabilirsiniz
console.log(kilo["60"]); // Zayif değerini verecektir
Reference Data Tipleri ve Primitive Veri Tipleri Referans veri tipleri ve primitive veri tipleri arasındaki fark referans veri tipleri bir referans olarak kayıt edilir. Yani primitive veri tipleri gibi bir değişkene bir değer olarak kayıt edilmez.
// primitive veri tipi string olarak kayediyoruz
var kim = 'Barış';
var digerKim = kim; // digerKim değişkenin değeri kim olarak ayarlandı
kim = 'Manço'; //kim değişkeni değerini değiştirdik
console.log(digerKim); // Barış
console.log(kim); // Manço
'kim' değişkeninin sonradan değiştirilmesine rağmen 'digerKim' değişkeni değeri 'kim' değişkeninin değerini almaya devam etti.
var kim = {isim: "Barış"};
var digerKim = kim;
kim.isim = "Manço";
console.log(digerKim.isim); // Manço
console.log(kim.isim); // Manço
Bu örnekte ise kim objesini digerKim'in içine gönderdik. Fakat değer obje içine depolandığı için sonradan person objesini değiştirince digerKim değişkenide değişti.
Nesne Veri Property'lerinin Sahip Oluduğu Nitelikler Veriyi depolayan her bir veri property'si (data property) sadece name-value (isim-değer) ilişkisine sahip değildir. Default olarak true ayarlanmış üç niteliği (attribute) vardır
Configurable Attribute (Düzenlenebilir Nitelik):
property'nin silinebilir yada değiştirilebilir olup olmadığını belirler.
Enumerable (Sıralanabilir):
property'nin for/in loop döngüsü içine alınıp alınamdığını belirler.
Writable (Yazılabilir):
property'nin değiştirilip değiştirlemeyeceğini belirler.
Obje (Nesne) Oluşturmak
Obje hakkında bu kadar yazdıktan sonra nasıl oluşturulması gerektiğinden bahsetmemek olmaz. Obje oluşturmanın iki yolu vardır.
1 - Literal Object
// Boş Obje Oluştrumak. Sonradan veri çağırmak için iyi yöntem
var ornek1 = {};
// İçinde öğesi bulunan
var ornek2 = {
hayvan: "kopek",
tur: "gold",
yas: 3,
}
2 - Constructor Object Yeni objeleri çağırmak için kullanıldığından dolayı constructor (yapıcı) adını alan nesne oluşturma yöntemidir.
var kopek = new Object ();
kopek.tur = "gold";
kopek.yas= "2";
Objeler diğer veri türleri olan array, number gibi diğer nesneleride kapsar.



0 yorum:

Yorum Gönder