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.console.log(kilo.60) // Hata verecektir
// Number gibi bir değere şu şekilde ulaşabilirsiniz
console.log(kilo["60"]); // Zayif değerini verecektir
// 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 = '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
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.var digerKim = kim;
kim.isim = "Manço";
console.log(digerKim.isim); // Manço
console.log(kim.isim); // Manço
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 ornek1 = {};
// İçinde öğesi bulunan
var ornek2 = {
hayvan: "kopek",
tur: "gold",
yas: 3,
}
var kopek = new Object ();
kopek.tur = "gold";
kopek.yas= "2";
Objeler diğer veri türleri olan array, number gibi diğer nesneleride kapsar.kopek.tur = "gold";
kopek.yas= "2";
0 yorum:
Yorum Gönder