ES6 ve ES7 Örnekler
Block Scoped Declaration
const ve let ifadelerine bakalım. Normal JavaScript'te bu ifadeler yerine değişkenleri tanımlamak için var kullanılır. Aralarındaki temel fark const ve let ifadeleri yalnızca bulundukları blok için geçerlidir.
const bildiğimiz "CONSTANT" kelimesinin kısaltması, sabit yani tanımlandığı blokta kendisine yalnızca bir kere atama yapılabilir
let ifadesi değişkenler için uygundur. Yukarıdaki örnekte üst blokta tanımlanmış const "a"
ifadesine bir kere atama yapılmış daha sonra başka bir değişiklik yapılınca buna izin verilmemiş. ama farklı bir blokta tekrar atama yapılabilmiştir.
Arrow Function ( => )
Arrow (=>) ya da fat arrow function (==>) denilen bu fonksiyon başta kafa karıştırıcı olabilir. Normal bir fonksiyondan temel anlamda bir kaç tane farkı vardır.
Birincisi; ES5 ile yazılmış bir JavaScript kodunda, bir fonksiyonu bind etmek için kullandığımız, this
kodu eğer biz arrow function kullanıyorsak gerekli değildir. Çünkü arrow function için fonksiyonun kendi bloğu ya da dış blok aynı kapsamdadır.Bir örnekle bakalım;
ES5 ile yazılan örnekte selamver
fonksiyonu kendi üst bloğundaki msj
'a ulaşmak için bind
edilmesi gerekirken; ES6 ile yazılan halinde, arrow function kullanılmış ve bind
edilmesine gerek kalmadan msj
değişkenine ulaşılmıştır
İkincisi; Eğer fonksiyonunuz bir parametre alıyorsa, süslü parantez {}
ve return
kullanmanıza gerek yok. Kullanırsanız da bir şey değişmez. Örneğin;
Modüller
Default Parametre
Class
ES5 ' de, class
yaratmak için sadece fonksiyon kullanabiliriz veMyFunction.prototype
ile method atıyabiliriz. ES6, class
için bize daha kolay bir sentaks veriyor.
ES6 bize javascript ile nesneye yönelik programlama imkânı veriyor. inheritance
yapmak, static
ve instance
fonksiyonlar oluşturmak mümkün. Bide bir tane özel bir fonksiyonumuz var; constructor
. constructor
, bir class yaratıldığında otomatik olarak çağrılır. Ayrıca static
kodu ile de static class fonksiyonlar tanımlayabiliriz. inheritance için de kullandığımız keyword, extends
Array Spread
Static Variables Class
Object Spread
ES6 daki Array Spread gibi, Object Spread ...
objenin elemanlarını dağıtır. ES7 ile gelen bir özelliktir.
{...originalObj} bu bizim ilk objemiz olsun. Biz bunu Object Spread ile kopyasını alıp, istediğimiz bir özelliğini değiştirerek yeni objemizi yaratalım.
Async ve Await
Asenkron iş planına sahip uygulamamızı hem daha mantıklı hem de daha okunur kılan async , ES7 ile gelmiştir. await
de onunla beraber kullanılır. async fonksiyonu, asenkron operasyon tamamlanana veya hata alana kadar bir sonraki kod bloğunun çalışmasını engeller.
ES6 Generator
Aşamalı, iterative biçimde ilerlemesi gereken bir fonksiyona ihtiyaç duyuyorsanız ES6 generator ler tam size göre.
Tüm generator işlemlerini sırayla yapılmasını istiyorsanız
Last updated