JavaScript Nesneleri nedir?
Nesneler, her nesne yönelimli dil için temel yapı taşlarıdır. JavaScript, nesne yönelimli bir dil olduğundan bu kavramın bir istisnası değildir. Web sayfalarına dinamik davranış sağlama yeteneği nedeniyle javascript yaygın olarak benimsenirken, javascript ve nesneleri ile nasıl çalışılacağı konusunda bilgi sahibi olunmalıdır. Javascript’teki nesneler, “anahtar-değer” çiftleri olarak bir araya getirilen farklı veri türleri veya nesneler grubudur. Nesnenin “anahtar” kısmı, nesne özelliklerinden başka bir şey değildir.
Örneğin, bir “Student” nesnemiz olduğunu düşünelim, burada özellikleri: ad, soyadı, yaş, öğrenci_kimliği, sınıf, vb. Bu öğrenci nesnesi için javascript nesne temsili aşağıdaki gibi gösterilecektir:
var student = { first_name : ‘Anamika’,
last_name : ‘Rai’,
age : 14,
student_id : 20,
class : ‘VIII D’
}
Burada first_name, last_name ve class özelliklerinin String veri türü değerleri içerdiğine, age ve Student_id ise sayı veri türünden olduğuna dikkat edin.
JavaScript’te Nesne Nasıl Oluşturulur?
Nesne oluşturmak için javascript, kişinin ihtiyacına göre nesneler oluşturabileceği birkaç seçenek sunar.
1. Nesne Başlatıcı Sözdizimini Kullanma
Nesne başlatıcı sözdizimi, küme parantezleri ({…}) içine alınmış ilgili değerleriyle birlikte özellik adlarının (anahtarlarının) bir listesidir. Yukarıdaki örnekte, nesne başlatıcı sözdizimini kullanarak “öğrenci” nesnesini yarattık. Sözdizimi aşağıdaki gibidir:
var object = { prop_1 : val_1,
prop_2 : val_2,
… … …
prop_n: val_n}
Burada özellikler ya ilkel bir veri türünden (string, number, Boolean, null ve undefined , javascript’teki ilkel veri türleridir ) ya da başka bir nesnedendir.
Örneğin
var student = { first_name : ‘Anamika’,
last_name : ‘Rai’,
age : 14,
student_id : 20,
class : ‘VIII D’
parents : {father : ‘Mrinal Rai’, mother : ‘Payal Rai’}
}
Burada “ebeveynler” özelliğinin nesne türünde olduğuna dikkat edin. Sırasıyla baba ve anne olmak üzere iki alt özellikten oluşur.
2. Yapıcı İşlevinden Yararlanma
Bu durumda, ilk önce ilgili özellikleriyle bir yapıcı işlevi tanımlayın, ardından “new” anahtar sözcüğünü kullanarak nesnesini oluşturun. Ardından değerleri bu yeni oluşturulan nesneye atayın.
Örneğin: Bir yapıcı işlevi ele alalım, diyelim ki Öğrenci:
function Student(name, age, gender){
this.name= name;
this.age = age;
this.gender = gender;
}
Yapıcı adının, adlandırma kuralına göre büyük harfle başlaması gerektiğini unutmayın.
Şimdi “new” anahtar sözcüğünü kullanarak nesneyi oluşturalım.
var myStudent = new Student(‘Anita Rai’, 14, ‘female’);
Ayrıca, burada yalnızca değerleri yapıcıya ilettiğimizi unutmayın. Yapıcı, “this” anahtar sözcüğünü kullanarak bu değerleri ilgili özelliklere atar. Geçerli nesneye “this” anahtar sözcüğü kullanılarak başvurulur.
3. Bir Nesnenin Eşgörünümünün Kullanılması
Alternatif olarak, aşağıdaki gibi oluşturmak ve başlatmak için nesne örneği/nesne oluşturucusu kullanılabilir:
var student = new Object();
student.name = “Anita Rai”;
student.age = 14;
student.gender = “female”;
4. Object Sınıfında Create() Yönteminden Yararlanma
Nesne sınıfı tarafından sağlanan create() yöntemini kullanarak da nesneler oluşturulabilir. Create yöntemi, bir nesne prototipini parametre olarak alır. Bu nedenle, bir yapıcı işlevi yazmaktan kaçınılabilir.
Örneğin
var student = { name : “Anamika Rai”, age : 14, gender : “female” }
Burada “öğrenci” bizim prototip nesnemizdir. Şimdi bunu kullanarak başka bir nesne oluşturalım:
var student_1 = object.create(student);
Burada, öğrenci prototipi kullanılarak öğrenci_1 nesnesi oluşturulur. Bu yeni oluşturulan nesnenin değerlerinden herhangi birinin değiştirilmesi gerekiyorsa, bu şu şekilde yapılır:
Student_1.name = “Ananya Gupta”;
Şimdi, Student_1 nesnesi, “name” özelliği dışında, öğrenci nesnesininkiyle benzer özellik değerlerine sahiptir.
JavaScript’te Nesnelere Nasıl Erişilir?
Artık nesne yaratıldığına göre, bilinmesi gereken bir sonraki şey ona nasıl erişeceğimizdir? Pekala, javascript, nesneye hangisini kullanarak erişebileceğinin iki yolunu sunar:
1. Bir Nesne Örneği Kullanma
Burada nesne örneği, özelliklerine erişmek için kullanılır.
Sözdizimi:object.property
Örneğin: tanımlı bir nesne öğrencimiz olduğunu düşünün,
var student = { name : “Anamika Rai”, age : 14, gender : “female” }
Şimdi nesneye ve özelliklerine erişmek için konsola yazdıralım:
console.log (“Student” + student.name + “is” + student.age + “years old.”);
// output: Student Anamika Rai is 14 years old.
2. Köşeli Parantezleri Kullanma
Nesne özelliği, nesnenin kendisinden sonra köşeli parantez içine alınır.
Sözdizimi:object[‘property’]
Örneğin: Yukarıdaki öğrenci nesnesine köşeli parantez kullanarak erişme,
console.log (“Student” + student[‘name’] + “is” + student[‘age ‘] + “years old.”);
// output: Student Anamika Rai is 14 years old.
JavaScript Nesne Yöntemleri
En çok kullanılan birkaç javascript yöntemi aşağıdaki gibidir:
- create(): Yukarıda gördüğümüz gibi, bu yöntem bir prototip nesnesinden javascript nesneleri oluşturmak için kullanılır.
- is(): Bu yöntem, parametre olarak ikinci bir nesne alır ve her iki nesnenin de eşit olup olmadığını belirler ve bir Boole değeri döndürür. Yani, her iki nesne de eşitse “true”, değilse “false” döndürülür.
- keys(): keys() yöntemi, javascript nesnesini parametre olarak alır ve özelliklerinin bir dizisini döndürür.
- değerleri(): Benzer şekilde, değerler yöntemi bir javascript nesnesini parametre olarak alır ve değerlerinin bir dizisini döndürür.
- input(): Bu yöntem ayrıca bir javascript nesnesini parametre olarak alır ve her iki anahtar/değer çiftinin başka bir dizisini içeren bir dizi döndürür. Örnek: Bir kez daha “öğrenci” nesnemizi ele alalım,
console.log(Object.entries(student));
//output: Array [Array ["name", "Anamika Rai"], Array ["age", 14], Array ["gender", "female"]]