03.12. Gelişmiş Nesne Özellikleri

ES6 ile birlikte nesne içindeki değişkenler, prototype, süper ve dinamik özellikler konusunda yenilikler görülmektedir. Bu bölüm nesne üzerindeki yenilikler üzerinedir. İki değişkenimizi bir nesne içine değer olarak gönderme işlemi ile başlayalım. ES5’te:

var ile tanımlanan değerleri atamak için x: x şeklinde bir tanımla yapılabilir. Burada ilk x obj’nin x’i iken (degisken ismi), ikinci x ise var değişkeninden gelen sayısal değerdir. ES6 ile birlikte bu atamaya gerek kalmadan örnekteki gibi bir kullanım yapılabilir.

Kod yazmayı azaltıcı bir işlem ancak yapı olarak ES5 ile aynı sonucu verir. Özellikle JSON dosyaları oluşturmanızda daha rahat bir kullanım imkanı sağlar.

Prototype

Bir başka nesnenin özelliklerini kalıtım ile almak için prototype kullanılır. Object’i class ile karıştırmayın. Object değerleri olan bir değişkendir. Örneğin,

nesne2, nesne1’in tüm özelliklerini “__proto__: nesne1” satırı sayesinde almıştır.

super

Nesne içinde fonksiyonda olabilir ve üst nesnedeki fonksiyon super ifadesi ile çağrılabilir.

test fonksiyonu ilk nesnede node değerini döndürürken ikinci nesnede proto üzerinden bağlantı kurduğu nesnedeki test() fonksiyonunu çağırıp üzerine “.js” uzantısını ekler.

Dinamik Özellikler

Nesne içindeki değişken ismini string bir ifade üzerinden oluşturabilirsiniz. Örneğin,

a_b değişken ismi string birleştirmesi ile elde edilmiştir. x.a_b şeklinde bir çağırma işleminde “z” string değeri döner.