let ve const Anahtar Kelimeleri
- var’dan Farkı: let ve const, blok kapsamlıdır (block-scoped), yani tanımlandıkları bloğun içinde geçerlidirler. var ise fonksiyon kapsamlıdır.
- let: Değeri değiştirilebilir değişkenleri tanımlamak için kullanılır.
- const: Sabit değerleri tanımlamak için kullanılır. Atandıktan sonra değeri değiştirilemez (ancak nesnelerin içindeki özellikler değiştirilebilir).
Arrow Fonksiyonları (ES6)
Sözdizimi: Daha kısa ve okunabilir bir fonksiyon sözdizimidir.
// Geleneksel fonksiyon
function toplama(a, b) {
return a + b;
}
// Arrow fonksiyonu
const toplamaArrow = (a, b) => a + b;this Bağlamı: Arrow fonksiyonları kendi this bağlamına sahip değildirler. Üst kapsamdaki this değerini kullanırlar.
Template Literal’lar (ES6)
Sözdizimi: Stringleri daha kolay bir şekilde oluşturmak için kullanılır. Değişkenleri doğrudan string içine gömme imkanı sağlar.
let ad = "Ali";
let soyad = "Yılmaz";
// Geleneksel yöntem
let mesaj = "Benim adım " + ad + " " + soyad;
// Template literal
let mesajTemplate = `Benim adım ${ad} ${soyad}`;Destructuring Atama (ES6)
Amaç: Dizilerden veya nesnelerden değerleri daha kolay bir şekilde çıkarmak için kullanılır.
// Dizi destructuring
let [a, b, c] = [1, 2, 3];
console.log(a, b, c); // 1, 2, 3
// Nesne destructuring
let { ad, soyad } = { ad: "Ali", soyad: "Yılmaz" };
console.log(ad, soyad); // Ali, YılmazSpread Operatörü (…) (ES6)
Kullanım Alanları:
- Dizileri birleştirmek:
let dizi1 = [1, 2];
let dizi2 = [3, 4];
let birlestirilmisDizi = [...dizi1, ...dizi2]; // [1, 2, 3, 4]- Fonksiyon argümanlarını genişletmek:
function toplama(a, b, c) {
return a + b + c;
}
let sayilar = [1, 2, 3];
console.log(toplama(...sayilar)); // 6- Nesne kopyalamak:
let ogrenci = { ad: "Ali", yas: 20 };
let yeniOgrenci = { ...ogrenci, soyad: "Yılmaz" };Rest Parametreleri (ES6)
Amaç: Fonksiyon argümanlarını bir diziye toplamak için kullanılır.
function toplam(a, b, ...geriKalan) {
let toplam = a + b;
for (let i = 0; i < geriKalan.length; i++) {
toplam += geriKalan[i];
}
return toplam;
}
console.log(toplam(1, 2, 3, 4)); // 10Sınıflar (Classes) (ES6)
Amaç: Nesne yönelimli programlama prensiplerini JavaScript’e getirmek için kullanılır.
Sözdizimi: class anahtar kelimesi ile tanımlanır.
class Ogrenci {
constructor(ad, soyad) {
this.ad = ad;
this.soyad = soyad;
}
tanit() {
console.log(`Benim adım ${this.ad} ${this.soyad}`);
}
}
let ogrenci1 = new Ogrenci("Ali", "Yılmaz");
ogrenci1.tanit(); // "Benim adım Ali Yılmaz"Modüller (ES6)
import ve export Anahtar Kelimeleri: Kodu modüler hale getirmek için kullanılır.
Amaç: Kodun daha organize, yeniden kullanılabilir ve bakımı kolay olmasını sağlamak.
Kaynak: https://developer.mozilla.org/en-US/docs/Web/JavaScript