Javascript – ES6 – Maps

const countries= new Map();
countries.set(“Deutsch”, “Berlin”);
countries.set(“Schweiz”, “Bern”);
countries.set(“Österreich”, “Wien”)

countries.forEach(function(value, key){
   console.log(key, value);
})

for of ile dönülürse elde edilen değer array olur.
for(let country of countries){
   console.log(country); // [“Deutsch”, “Berlin”]
}

Aşağıdaki kullanımla key-value değerleri elde edilebilir.
for(let [key, value] of countries){
   console.log(key, value); // [“Deutsch”, “Berlin”]
}

Sadece key değeri elde edilmek istenirse keys() fonksiyonu kullanılabilir.
for(let key of countries.keys()){
   console.log(key,); // Deutsch
}

Sadece value değeri elde edilmek istenirse values() fonksiyonu kullanılabilir.
for(let key of countries.values()){
   console.log(key,); // Berlin
}

Array’lerden map oluşturulabilir.
const array = [[“key1”, “value1”], [“key2”, “value2”]];
const _map = new Map(array);

Map’ten array oluşturulabilir.
const array = Array.from(countries) // [[“Deutsch”, “Berlin”], [“Schweiz”, “Bern”], [“Österreich”, “Wien”]];

Javascript – ES6 – For Döngüsü

for in döngüsünde;
Object kullanılıyorsa property name, Array kullanılıyorsa index elde edilir, bunlar üzerinden işlem yapılır.


ES6 ile birlikte gelen for of yapısıyla direkt değere erişilebilir. Ancak for of yapısı Object üzerinde kullanılamaz.

const languages = [“Python”, “Java”, “Javascript”];
for(let lang of languages){ 

     console.log(lang);
}

Javascript – ES6 – Spread Operatörü

Spread operatörü sayesinde dizi elemanları ayrı birer değişkenmiş gibi işlem görür.
const languages = [“Java”, “Js”, “C”, “Go”, “Python”];
console.log(…languages);

Bu sayede diziler de kolayca birleştirilebilir.
const languages2 = [“C#”, “C++”, …languages]

Spread ile farklı dizi de oluşturulabilir.
const languages3 = [a, b, …languages4] = languages; //languages4 = [“C”, “Go”, “Python”] olur.

Fonksiyona parametre olarak dizi değerleri yollanabilir.
const numberArray = [10, 20, 30, 40, 50]
const numbers = (a, b, c) => a + b + c;
numbers(…numberArray); // sonuç 60 olur.

Javascript – ES6 – Destructing

Array veya object içindeki istenen sayıda elemandan otomatik olarak yeni değişken oluşturulabilir.
arr = [10, 20, 30, 40, 50];
[number1, number2] = arr;
console.log(number1, number2); //number1 = 10, number2 = 20 olur.


Object oluştururken değişken isimleri aynı tanımlanmalı veya isimler eşleştirilmelidir.
obj = {a: 10, b: 20, c: 30, d: 40, e: 50};
{a:number1, e, d:number3} = obj;
console.log(number1, e, number3); //number1 = 10, e = 50, number3 = 40 olur.

Javascript – ES6 – Fonksiyon Tanımlama

Javascript’te
const merhaba = function(parametreler) { … } şeklinde tanımlanan fonksiyon ES6 ile birlikte;
const merhaba = (parametreler) => { … } şeklinde tanımlanabilir.

Eğer fonksiyon tek parametre alıyorsa parantez içine yazmadan da kullanılabilir.
const merhaba = parametre => { … }

Eğer fonksiyon içerisinde tek satırlık işlem yapılıyorsa süslü parantez içine alınmadan da kullanılabilir.
const merhaba = (parametre1, parametre2) => return parametre1 + parametre2;

Eğer fonksiyon sadece return işlemi yapıyorsa “return” ifadesi kullanılmayabilir.
const merhaba = (parametre1, parametre2) => parametre1 + parametre2;






Javascript – Scope Kavramı

Global Scope;

  • Oluşturulan değişkenlere tüm dosyadan erişilebilir.

Function Scope;

  • Oluşturulan değişkenlere sadece fonksiyon içerisinden erişilebilir.

Block Scope;

  • let ve const ile tanımlanan değişkenlere sadece block içerisinden erişilebilir.  Aynı değişken tekrar tanımlansa dahi yeni değer sadece block içerisinde geçerli olur.
  • var ile tanımlananlara block dışından da erişilebilir.
  • Global’de var ile tanımlanmış değişken block içerisinde tekrar tanımlanarak yeni değer atanabilir. Atanan değer global’de de değişir.

Javascript – String Metodlar

const firstName = “Zafer”;
const lastName = “Kırca”
const languages = “Java, Javascript, C#”

 

includes : string içindeki belli ifadeyi aranır, bulunursa true döner.

concat : string birleştirme yapılabilir;

let value = firstName.concat(” “, lastName, ” “, “İstanbul”)

split : string değer belirli karaktere göre ayrılır, dizi döner. split()[index] ifadesiyle istenen indexteki değer elde edilebilir.

replace : string değer içindeki belli ifade başka bir ifadeyle değiştirilebilir.

indexOf(“xxx”) metoduyla istenilen ifadenin değişken içerisinde olup olmadığı kontrol edilir. Varsa index değeri döner.

String ifadeki bir karakter firstName[index] veya charAt(index) yoluyla elde edilebilir.

toLowerCase : tüm harfler küçültülür.

toUpperCase : tüm harfler büyütülür.