Ecmascript 2016’da Neler ile Karşılaştık

By | 17 June 2016

Son aylarda ilgilendiğim JavaScript projelerinde bilmediğim deyimlerle karşılaştım. Sonra araştırırım ne işe yaradıklarını derken, az önce yine aynı şeylerle karşılaştım ve işi gücü bırakıp bu yazıyı yazmaya karar verdim ki aklıma mıh gibi kazınsın. Ben burada gördüğüm ve karşılaştığım aslında bunların diğer programlama dillerinde ‘he bu şuna denk geliyor’ dediğim deyimleri, fonksiyonları anlatacağım.

Python yazanların bildiği ‘Iterator’ ve ‘Yield’ deyimlerini Ecmascript 2016 ile Javascript’te nasıl kullanıyoruz, onu anlatayım. Bilmeyenler için ise kısaca anlatmak gerekirse Array veya Objeyi düşündüğümüzde içindeki key ve value’lara erişmemizi, onları yönetmemizi sağlayan fonksiyon diyebiliriz.

Iterator

var list = [1,2,3,4,5,6,7,8,9];
var iter = Iterator(list);
while(iter.next()){
    console.log(iter.next());
}

Burada liste elemanı bitti sinyalini alana kadar konsola değerleri yazacak. Eğer key-value şeklinde kullanmak istersek alttaki gibi kullanabiliriz.

var user = { Name : 'Mert', Soyadı : 'Simsek', Website : 'mertblog.net' };
for (var[key,value] in Iterator(user)){
    console.log(key + ' -> ' + value);
}

 

Yield

Yield kavramı return yapar ve bir işlem yapmaya devam eder diyebiliriz aslında.
Örnek üzerinden daha iyi anlayacağımızı düşünüyorum.

for (var i = 1; i<=10; i++){
    yield i * i;
}

Burada o an ki i değerinin karesini return ederken, for döngüsünün devam etmesini sağlıyor. Önceden bu verileri bir array veya obje içinde toplayıp, onu return ederken şimdi tek tek o an ki result’ı return etmemize yarıyor.

 

Const

Bildiğimiz sabitler Javascript’e de geliyor. Eğer bir değeri sabit olarak tanımlarsak, daha sonra farklı bir değer set etsek bile değer değişmiyor.

const myVal = 7;

 

Let

Değişkeni tanımladığımız alan içinde geçerli olan bir değişken tipi. Örneğin;

var myVal = 7;

if (myVal == 7){
    let myVal = 3;
    alert(myVal);    //burada çıktıya 3 yazacaktır.
}
alert(myVal);    //buraya çıktıya 7 yazacaktır.

 

 

C Dilinden Hatırlayacağımız String Formatı

console.log('Hello %s', 'mertblog.net');    //string için %s kullanılıyor.
console.log('5 + 5 = %d', 10);    //int için %i ve %d kullanılıyor, float için ise %f

 

Java Dilinden Hatırlayacağımız …theArgs

Fonksiyonun aldığı parametrelerin toplam sayısının belli olmadığı durumlarda kullanılır.

function myFunc (...theArgs){
    console.log(theArgs.length);
}

myFunc();    //çıktı olarak 0 basar
myFunc(1,2,a);    //çıktı olarak 3 basar

 

Ecmascript 2016 standartlaşmadığı için çoğu browser desteklemiyor. Yavaş yavaş geçmeye başladılar.
Mozilla Firefox başı çeken tarayıcı konumunda.Bu konuda  buradan daha detaya da ulaşabilirsiniz. Anlatacaklarım şimdilik bu kadar, bir daha ki yazımda görüşmez üzere… 🙂

 

 

Leave a Reply

Your email address will not be published. Required fields are marked *

*