JavaScript, her yıl yenilenen ECMAScript standardıyla sürekli gelişen bir dil. 2023 yılında, dilin kullanımını daha güçlü ve esnek hale getiren birçok yeni özellik tanıtıldı. Bu blog yazısında, JavaScript 2023 (ECMAScript 2023) ile gelen en önemli yenilikleri detaylı bir şekilde inceleyeceğiz.
Umarım bu yazı, JavaScript 2023’ün getirdiği yenilikleri anlamanıza yardımcı olmuştur. Eğer bu yeni özelliklerle ilgili daha fazla bilgi edinmek isterseniz, ECMAScript spesifikasyonunu ve ilgili dökümantasyonları incelemenizi öneririm.
FindLast ve FindLastIndex
JavaScript’te daha önce find ve findIndex yöntemleri ile dizi içerisindeki belirli bir koşulu sağlayan ilk elemanı ve bu elemanın indeksini bulabiliyorduk. Ancak, bazen diziyi tersten aramak gerekebiliyor. İşte bu noktada findLast ve findLastIndex devreye giriyor.FindLast
Bu yöntem, dizi içerisindeki son elemanı bulur ve döner. Koşulu sağlamayan hiçbir eleman yoksa undefined döner.const numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10];
const lastEven = numbers.findLast(num => num % 2 === 0);
console.log(lastEven); // 10
FindLastIndex
Bu yöntem ise, dizi içerisindeki son elemanın indeksini döner. Eğer koşulu sağlayan bir eleman bulunamazsa -1 döner.const numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10];
const lastEvenIndex = numbers.findLastIndex(num => num % 2 === 0);
console.log(lastEvenIndex); // 9
ToReversed
toReversed, diziyi tersine çeviren ve yeni bir dizi döndüren, ancak orijinal diziyi değiştirmeyen bir yöntemdir. Bu yöntem, reverse‘in aksine orijinal diziyi mutasyona uğratmaz.const arr = [1, 2, 3];
const reversedArr = arr.toReversed();
console.log(reversedArr); // [3, 2, 1]
console.log(arr); // [1, 2, 3] - Orijinal dizi değişmez
ToSorted
toSorted, diziyi sıralayan ve yeni bir dizi döndüren bir yöntemdir. Bu da sort yöntemine benzer, ancak orijinal diziyi değiştirmez.const arr = [3, 1, 2];
const sortedArr = arr.toSorted();
console.log(sortedArr); // [1, 2, 3]
console.log(arr); // [3, 1, 2] - Orijinal dizi değişmez
ToSpliced
toSpliced, belirli bir aralıktaki elemanları kesip çıkararak yeni bir dizi oluşturan bir yöntemdir. Orijinal diziyi değiştirmeden, ekleme ve çıkarma işlemlerini gerçekleştirir.const arr = [1, 2, 3, 4];
const splicedArr = arr.toSpliced(1, 2, 5, 6);
console.log(splicedArr); // [1, 5, 6, 4]
console.log(arr); // [1, 2, 3, 4] - Orijinal dizi değişmez
With
with, bir dizide belirli bir indeks üzerindeki değeri değiştirerek yeni bir dizi oluşturan bir yöntemdir. Bu yöntem, belirli bir indeksteki değeri güncellemek için kullanılır.const arr = [1, 2, 3];
const newArr = arr.with(1, 10);
console.log(newArr); // [1, 10, 3]
console.log(arr); // [1, 2, 3] - Orijinal dizi değişmez
Group ve GroupToMap
JavaScript’te verileri gruplamak artık çok daha kolay! group ve groupToMap yöntemleri, dizileri belirli bir kritere göre gruplamanıza olanak tanır.Group
Bu yöntem, belirli bir kritere göre diziyi gruplandırır ve bir nesne döner.const pets = [
{ type: 'dog', name: 'Rex' },
{ type: 'cat', name: 'Whiskers' },
{ type: 'dog', name: 'Buddy' }
];
const groupedPets = pets.group(pet => pet.type);
console.log(groupedPets);
GroupToMap
Bu yöntem de group ile aynı şekilde çalışır, ancak sonucu bir Map olarak döner.const groupedPetsMap = pets.groupToMap(pet => pet.type);
console.log(groupedPetsMap);
Array.fromAsync
Array.fromAsync, asenkron iterasyonları destekleyen bir yöntemdir. Bu yöntem, asenkron işlemleri tamamlandıktan sonra bir dizi oluşturmanıza olanak tanır.const promises = [
Promise.resolve(1),
Promise.resolve(2),
Promise.resolve(3)
];
const result = await Array.fromAsync(promises);
console.log(result); // [1, 2, 3]
Symbol.prototype.description
Bu özellik, sembollerle çalışırken onların açıklamalarına doğrudan erişmenizi sağlar.javascriptKodu kopyalaconst sym = Symbol('mySymbol');
console.log(sym.description); // 'mySymbol'
Sonuç
JavaScript 2023, dilin esnekliğini ve kullanım kolaylığını artıran birçok yeni özellikle birlikte geliyor. findLast, findLastIndex, toReversed, toSorted, toSpliced, with, group, groupToMap, Array.fromAsync, ve Symbol.prototype.description gibi yeni özellikler, geliştiricilerin işlerini kolaylaştıracak ve daha temiz, daha okunabilir kodlar yazmalarına yardımcı olacak. Bu özellikleri projelerinizde kullanarak, JavaScript’in en yeni ve güçlü araçlarından yararlanmaya başlayabilirsiniz.Umarım bu yazı, JavaScript 2023’ün getirdiği yenilikleri anlamanıza yardımcı olmuştur. Eğer bu yeni özelliklerle ilgili daha fazla bilgi edinmek isterseniz, ECMAScript spesifikasyonunu ve ilgili dökümantasyonları incelemenizi öneririm.