Javascript 11 | Class

Ömer Çelik
1 min readJan 2, 2020

--

Javascript 2015'den itibaren EcmaScript 2015(Es 6) diye adlandirildi.
Es6 ile birlikte büyük bir milad geldi diyebiliriz.
Biz kodumuzu es6' ya göre yazarız. Babel ise es5' e çevirir. EcmaScript Js’nin formal(resmi) ismidir.
EcmaScript class’larında methodların başına function yazmamıza gerek yoktur. Yeni bir object yarattığımızda otomatik olarak constructor’a giriyor.

Ayrıca class içerisinde bir method tanımlarsak;
Javascript bu methodu class’in prototype’ının içine koyar. Böylece önceden dikkat etmiş olduğumuz kuralımızı da sağlamış oluruz.
Kural : Function içerisindeki field’lar bizim unique’liğimizi saglar. O yüzden direk function içerisine yazmamızda hiç bir sakınca yoktur. Ancak function içerisine yazacağımız function’larımızın boşu boşuna her bir nesne için hafızada yer kaplamasına gerek yoktur. Diyelim ki 100 tane nesne ürettik. Unique’lik için 100 tane field olmalıdır. Ancak tek bir tane function
olsa yeter. Js es6 ise bu yapilması gereken işlemi class kullanırsak bizim için yapar.

ÖRNEK :

Yukarıdaki class’in karşılığı aşağıdaki koddur. Javascript bizim için bu güzelliği yapmaktadır:

NOT : JavaScript’te, sınıf metotları varsayılan olarak this‘e bağlı değillerdir. Bu nedenle, this.handleClick‘i bind(this) ile bağlamayı unutarak onClick‘e yazarsanız, fonksiyon çağrıldığında this değişkeni undefined hale
gelecek ve hatalara sebep olacaktır.
Javscript’de class ‘lar içerisine constructor tanımlamazsak Js default olarak
sınıfa empty constructor ekler.

Getter — Setter

Ayrıca getter, setter methodları da vardır. Eğer değeri almadan önce özellikle bazı ayarlamalar yapmak istiyorsak kullanmak mantıklıdır.

Makalelerimin tamamına erişmek isteyen arkadaşlar için hepsinin linkinin bulunduğu bir tutorial hazırladım. Aşağıdaki linkte paylaşıyorum.

https://medium.com/@omercelikceng/javascript-makalelerimin-tamam%C4%B1-45a71ac3b386

--

--