Mehmet

WFN Üye
Konular
1,851
Mesajlar
1,852
Çözüm
0
Ticaret Puanı
0
Üyelik
1 Ay 6 Gün
Konum
YurtDışı
Web Sitesi
Var
Alanı
Google Adsense
1/1
Konu sahibi

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.

ÖzellikNe sağlar?Dikkat noktası
let / constBlok kapsamlı değişken bağlarıconst nesnenin içini dondurmaz
Ok fonksiyonuKısa fonksiyon ifadesiKendi this/arguments bağını oluşturmaz
import / exportModül sınırı ve dışa açılan değerlerÇalışma ortamında modül olarak yüklenmeli
DestructuringYapıdan adlandırılmış değer çıkarmaEksik/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​


  1. Yeni değişken tanımlarken varsayılan olarak const kullanın.
  2. Değeri değişecekse let tercih edin; var kullanımını yeni kodda zorunlu bir neden yoksa sürdürmeyin.
  3. 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.
  4. Tekrarlanan veya büyüyen kodu modüllere ayırın; dışarı açılan değerleri export, kullanan dosyada alınacak değerleri import ile belirtin.
  5. 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.

ES6 kullanmak için dosyanın uzantısı değişir mi?​

Hayır. Tarayıcıda doğrudan çalıştırılan kod yine JavaScript dosyasında bulunabilir. Dosyanın nasıl çalışacağı; tarayıcı, Node.js veya kullanılan derleme aracının yapılandırmasına bağlıdır.

ES6, JavaScript'in son sürümü müdür?​

Hayır. ES6, standardın belirli bir sürümüdür. Sonraki ECMAScript sürümleri de yeni özellikler eklemiştir; bu nedenle bir özelliği kullanmadan önce hedef çalışma ortamının onu desteklediğini doğrulamak gerekir.
 

Sende şimdi bize katılmak ister misin?

Kayıt ol

Bize katılım kolay ve ücretsizdir!

Konuyu görüntüleyenler

Bu konuyu şu anda görüntüleyen üye bulunmuyor.
Robotlar:
  • Anthropic