ES6 ile gelen Javascript’te class tanımlama ile OOP için daha okunaklı kod yazmaya yardımcı olmuş oldu. Typescript’te zaten bu yapı kullanılmakta ancak typescript’te OOP yazdığımız kodlar Javascript’e çevriliyor ve functionlar ile class tanımı ortaya çıkarılıyordu. Bununla birlikte typescript’te olan class tanımları bu şekilde class tanımlı olarak compile edilecektir. Eğer bir nesne oluşturmak istersek bunu Constructor Function ile…
Kategori: Javascript
Javascript Closures Nedir?
Closure, içteki fonksiyonların, dışta bulunan fonksiyondaki değişkenleri değerini kaybetmeden kullanabilmesidir. Fonksiyonlar içinde bulunan değişkeni işlemi tamamlandığında siler ve tekrar çalıştığında yeniden oluşturur ve kullanırdı ancak bu durumda değişkeni kaybetmeden yeniden kullanır. Yukarıdaki plus() fonksiyonu ile üst fonksiyondaki değişkene ulaşabiliriz. Veya yukarıda a değişkenine kendini çağıran bir fonksiyon ile return değeri atanır. Bu kısım sadece bir kere…
Javascript Object Prototypes
Javascript nesneleri özellikleri ve metotlarını Object.prototype üzerinden alırlar. Constructor üzerinden instance oluşturursak her bir fonksiyon için bellekte yeni bir yer açılacaktır ve bu da bellekte fazladan yer kaplayacaktır. Örnekler üzerinden gidecek olursak; Constructor ile bir nesne oluşturalım. Yukarıda oluşturduğumuz person1 (instance) içerisine bir özellik eklemek istersek bunu şu şekilde yapabiliyorduk. Veya bir nesne içerisine metod eklemek istersek;…
Javascript Constructor ve This Kullanımı
Yazıya ilk olarak object yapısından bahsederek başlayacağım. Normalde bir objeyi birden çok parametreyi saklamak için kullanabiliyorduk. Aşağıda buna bir örnek gösterilmiştir ve object literal yapısı kullanılmıştır. Yukarıdaki işlemi örneğin 500 kişi için yapmak istersek aşırı kod kalabalığı olacak ve bazen syntax hatalarına yer verecektir. Bu durumda tüm aynı amaç için kullandığım objelerimi de bir yapı altında toplayabilirsem…
Javascript — Object Literals
Bu yazıda object literal yöntemi ile nesne oluşturmayı göreceğiz. Örnekler üzerinden gidersek; Yukarıda veri değişkeni oluşturduk ve nesne üyelerimizi tanımladık. Burada nesne üyelerine ulaşmak istediğimizde ise console.log(veri.birthDate) ile veri nesnesinin birthDate isimli değişkenine ulaşmış oluruz. Bir nesne içerisinde farklı bir nesne daha oluşturabiliriz. Burada ise iç içe oluşturduğumuz nesne ile şehir bilgisine ulaşmak istedik. Burada address, veri nesnesinin bir üyesi, country ve city için ise ayrı bir…
Javascript Hoisting
Javascript içerisinde bir değişken kullanıldıktan sonra da tanımlanabilir. Ancak bu durum var, let ve const içinde değişkenlik göstermektedir. Örneklerle devam edelim; Burada x=5 ataması, değer kullandıktan sonra değişkene tanımlanmıştır. Ancak Javascript var değişkenini her zaman en başta yazılmış gibi kabul eder bu nedenle var değişkeni herhangi bir yerde tanımlanabilir. Yukarıda let değişkeni ile tanımlanmış olan x=5 ataması, değişkenden önce kullanıldığı için ReferenceError hatası alacağız. var ile let arasındaki temel farklardan biri olarak bunu görebiliriz. Bunu doğru…
Javascript Scope Kavramı
Scope(Kapsam) nedir ? Scope ilgili değişkenlere ulaşabildiğimiz alanı temsil eder. Scope türleri nelerdir? Global Scope ve Local Scope olmak üzere iki türü vardır. Local scope ise kendi içinde ikiye ayrılır; Block Scope ve Function Scope. Global Scope : Fonksiyonların ya da for, if veya while bloklarının dışında tanımlanan değişkenlere sahip olan scope türüdür. Local Scope : Global…