- Konu sahibi
- #1
JavaScript ES6 nedir?
ES6, JavaScript dilinin 2015 yılında yayımlanan önemli sürümüdür. Resmî adı ECMAScript 2015 olan ES6; değişken tanımlama, fonksiyon yazımı, sınıflar, modüller, diziler ve nesnelerle çalışma gibi birçok konuda daha okunabilir ve güvenilir bir sözdizimi getirir. ES6 ayrı bir programlama dili değil, JavaScript standardının bir sürümüdür.
ES6 ile gelen temel özellikler
ES6 öncesinde değişkenler çoğunlukla
var ile tanımlanırdı. ES6 ile let ve const geldi. let değeri sonradan değişebilen değişkenler, const ise yeniden atama yapılmayacak değişkenler için kullanılır.Ok fonksiyonları kısa fonksiyon yazmayı sağlar. Şablon dizeleri, değişkenleri metin içine daha okunabilir biçimde yerleştirir. Destructuring, dizi veya nesne içindeki değerleri doğrudan değişkenlere ayırır.
class nesne tabanlı yapıları daha anlaşılır bir sözdizimiyle yazmayı sağlar. import ve export ise kodu modüllere bölmeye yardımcı olur.Ok fonksiyonunu yalnız kısa olduğu için her normal fonksiyonun yerine koymayın. Kendi this bağı olmadığı için nesne metodu veya kurucu gibi kullanımda aynı davranışı vermez.
| Özellik | Ne sağlar? | Dikkat noktası |
|---|---|---|
| let / const | Blok kapsamlı değişken bağları | const nesnenin içini dondurmaz |
| Ok fonksiyonu | Kısa fonksiyon ifadesi | Kendi this/arguments bağını oluşturmaz |
| import / export | Modül sınırı ve dışa açılan değerler | Çalışma ortamında modül olarak yüklenmeli |
| Destructuring | Yapıdan adlandırılmış değer çıkarma | Eksik/uyumsuz veri ayrıca ele alınır |
Somut ES6 örneği
Aşağıdaki örnek;
const, let, ok fonksiyonu, şablon dizesi ve destructuring kullanımını birlikte gösterir:
Kod:
const kullanici = {
ad: "Ayşe",
puanlar: [70, 85, 90]
};
const { ad, puanlar } = kullanici;
let toplam = puanlar.reduce((sonuc, puan) => sonuc + puan, 0);
const ortalama = toplam / puanlar.length;
console.log(`${ad} adlı kullanıcının ortalaması: ${ortalama}`);
Bu kod çalıştırıldığında beklenen çıktı şudur:
Kod:
Ayşe adlı kullanıcının ortalaması: 81.66666666666667
Çıktı oluşmuyorsa öncelikle kodun gerçekten JavaScript olarak çalıştırıldığını,
console.log satırının bulunduğu dosyanın yüklendiğini ve kullanılan çalışma ortamının bu sözdizimini desteklediğini kontrol edin. Eski bir ortam desteği gerekiyorsa ES6 kodu Babel gibi bir dönüştürücüyle daha eski JavaScript sözdizimine çevrilebilir. Bu dönüşüm, çalışma ortamının desteklemediği bazı özellikler için ek polyfill gerektirebilir.ES6 kullanırken uygulanabilir kararlar
- Yeni değişken tanımlarken varsayılan olarak
constkullanın. - Değeri değişecekse
lettercih edin;varkullanımını yeni kodda zorunlu bir neden yoksa sürdürmeyin. - Kısa ve tek işlem yapan fonksiyonlarda ok fonksiyonlarını kullanın. Birden fazla satırlı veya karmaşık fonksiyonlarda normal fonksiyon sözdizimi okunabilirliği artırabilir.
- Tekrarlanan veya büyüyen kodu modüllere ayırın; dışarı açılan değerleri
export, kullanan dosyada alınacak değerleriimportile belirtin. - Hedef çalışma ortamlarınızı belirleyin. Ortam ES6'yı doğrudan çalıştırmıyorsa derleme veya dönüştürme adımını proje yapılandırmasına ekleyin.
Sık sorulan sorular
const nesneyi tamamen değişmez yapar mı?
const ile tanımlanan değişkenin kendisine yeniden değer atanamaz; ancak nesnenin veya dizinin içindeki özellikler ve elemanlar değiştirilebilir. Tamamen değişmez veri gerekiyorsa uygulamanın ayrıca kopyalama veya değişmezlik yaklaşımı kullanması gerekir.