Gerçek Hayattaki Nesneler, Özellikler ve Yöntemler
Gerçek hayatta bir araba bir nesnedir.
Bir araba ağırlık ve renk gibi özelliklere (properties) ayrıca başlatma ve durdurma gibi yöntemlere (methods) sahiptir:
Nesneler (Object) | Özellikler (Properties) | Yöntemler (Methods) |
---|---|---|
![]() | arabanin.markasi = Fiat arabanin.modeli = 500 arabanin.agirligi = 850kg arabanin.rengi = beyaz | arabayi.calistir() arabayi.sur() arabayi.frenle() arabayi.durdur() |
Tüm arabalar aynı özelliklere sahiptir, ancak özellik değerleri arabadan arabaya değişir.
Tüm arabalar aynı yöntemlere sahiptir, ancak yöntemler farklı zamanlarda gerçekleştirilir.
JavaScript Nesneleri
JavaScript değişkenlerinin veri değerleri için bir dijital sandık olduğunu zaten öğrendiniz.
Bu kod, car adlı bir değişkene basit bir değer (Fiat) atar:
var car = "Fiat";
Nesneler de değişkenlerdir. Ancak nesneler birçok değer içerebilir.
Bu kod, car adlı bir değişkene birçok değer (Fiat, 500, beyaz) atar:
var car = {type:"Fiat", model:"500", color:"white"};
Değerler isim:değer(name:value) çiftleri (iki nokta üst üste ile ayrılmış) olarak yazılır.
JavaScript nesneleri, özellikler veya yöntemler adı verilen adlandırılmış değerler için dijital sandıklardır.
Nesne Tanımlama
JS nesnesi tanımlamak için object literal kullanırsınız.
var person = {firstName:"John", lastName:"Doe", age:50, eyeColor:"blue"};
Boşluklar ve satır kesmeleri hani entera bastığımızda bir alt satıra geçmek önemli değildir. Bir nesne tanımı birden fazla satıra yayılabilir:
var person = { firstName: "John", lastName: "Doe", age: 50, eyeColor: "blue" };
Nesne Özellikleri (Object Properties)
Javascript nesnelerinde name:values çiftleri özellikler olarak çağırılırlar.
Özellik (Property) | Özellik Değeri (Property Value) |
---|---|
firstName | John |
lastName | Doe |
age | 50 |
eyeColor | blue |
Nesne Özelliklerine Erişme (Accessing Object Properties)
Nesne özelliklerine iki şekilde erişebilirsiniz:
objectName.propertyName
ya da
objectName["propertyName"]
Örnek 1
person.lastName;
Örnek 2
person["lastName"];
Nesne Yöntemleri (Object Methods)
Nesnelerin de yöntemleri olabilir.
Yöntemler nesneler üzerinde gerçekleştirilebilecek eylemlerdir.
Yöntemler fonksiyonlarda fonksiyon tanımları olarak saklanır.
Özellik (Property) | Özellik Değeri (Property Value) |
---|---|
firstName | John |
lastName | Doe |
age | 50 |
eyeColor | blue |
fullName | function() {return this.firstName + ” ” + this.lastName;} |
Yöntem, özellik olarak depolanan bir işlevdir. Yukarıda gördüğünüz gibi fullName özelliği bir method barındırıyor.
var person = { firstName: "John", lastName : "Doe", id : 5566, fullName : function() { return this.firstName + " " + this.lastName; } };
The this Keyword
Bir fonksiyon tanımında, bu işlevin “sahibini” ifade eder.
Yukarıdaki örnekte, bu, fullName fonksiyonuna “sahip” olan kişi nesnesidir.Yani person.
Bu konuyu ileriki derslerde daha detaylı olarak işleyeceğiz. Şimdilik bunları bilmeniz yeterli.
Özetle: this bildiğiniz zamir. Yani yukarıda person.firstName yazmak yerine this.firstName yazdık.
Nesne Yöntemlerine Erişim
Bir nesne yöntemine aşağıdaki sözdizimiyle (syntax) ile erişirsiniz:
objectName.methodName()
name = person.fullName();
() Parantezleri olmayan bir yönteme erişirseniz, işlev tanımını döndürür:
name = person.fullName;
Dizeleri, Sayıları ve Boolenları Nesne Olarak Bildirmeyin!
Bir JavaScript değişkeni “
new
” anahtar kelimesiyle bildirildiğinde, değişken bir nesne olarak oluşturulur:var x = new String(); // Declares x as a String object var y = new Number(); // Declares y as a Number object var z = new Boolean(); // Declares z as a Boolean object
Dize, Sayı ve Boolean nesnelerinden kaçının. Kodunuzu karmaşıklaştırır ve yürütme hızını yavaşlatır.
Bu öğreticinin ilerleyen bölümlerinde nesneler hakkında daha fazla bilgi edineceksiniz.