- ECMAScript 2025, 25 Haziran 2025'te resmi standart olarak onaylandı ve çeşitli yeni özellikler eklendi
- Import attributes ve JSON modülleri ile JavaScript dışı kaynakların içe aktarım biçimi iyileştirildi
- Iterator helper methods sayesinde büyük veri işleme ve çeşitli yineleme görevlerinin verimliliği artırıldı
- Set ve RegExp gibi temel yerleşik nesnelere çok sayıda yeni metot eklenerek kullanım kolaylığı güçlendirildi
- 16 bit kayan nokta (float16) desteği gibi yeniliklerle veri işleme performansı ve ifade gücü genişletildi
ECMAScript 2025'in resmi onayı
- 25 Haziran 2025'te, Ecma International'ın 129. genel kurulunda ECMAScript 2025 resmi standart olarak onaylandı
Yeni başlıca özellikler
Import attributes ve JSON modülleri
- Import attributes, JavaScript dışı artefaktlar (import edilen kaynaklar) için tür gibi özelliklerin belirtilebildiği bir sözdizimidir
- JSON modülleri ilk kez resmi olarak destekleniyor;
import configData from './data.json' with { type: 'json' }; biçimiyle JSON verileri kolayca içe aktarılabiliyor
- Dinamik import'ta da (
import() çağrısı) aynı şekilde özellik belirtilebiliyor
Iterator helper methods
- Array metotlarına benzer, ancak iterator'lara özel çeşitli helper metotları sunuldu
filter, map, flatMap, some, every, find, reduce, forEach gibi mevcut metotlar
drop, take, toArray gibi yineleyiciye özel yeni metotlar da dahil
- Set, Map gibi tüm iterable nesnelerde doğrudan kullanılabiliyor
- Ara diziler oluşturmadan, veriyi yalnızca gerektiği kadar sıralı biçimde işleyerek büyük veri için etkili oluyor
Set metotlarının genişletilmesi
- Birleşim, kesişim, fark, simetrik fark (symmetric difference) işlemleri için metotlar eklendi
Set.prototype.union(other), intersection(other), difference(other), symmetricDifference(other)
- Alt küme/üst küme/ayrık küme denetimi için metotlar sunuluyor
isSubsetOf(other), isSupersetOf(other), isDisjointFrom(other)
Düzenli ifadelerde iyileştirmeler
RegExp.escape()
- Rastgele bir string'i düzenli ifadede güvenle kullanabilmek için otomatik olarak escape eden
RegExp.escape() eklendi
Desen içi inline flag'ler
- Düzenli ifade içinde yalnızca belirli desen parçalarına ayrı flag'ler (
i, u vb.) uygulanabiliyor
- Örnek:
/^x(?i:HELLO)x$/, yalnızca HELLO bölümünü büyük/küçük harf duyarsız şekilde eşleştirir
Aynı isimli capture group desteği
- Düzenli ifade alternatiflerinin (branch) her birinde aynı isimli capture group kullanılabiliyor
- Örnek:
/(?<chars>a+)|(?<chars>b+)/v
Promise.try()
- Senkron/asenkron kodun karma işlenmesini tek bir Promise zinciriyle başlatabilen
Promise.try() eklendi
- Daha önce senkron istisna işleme zahmetliydi; artık daha sade biçimde yapılabiliyor
16 bit kayan nokta (float16) desteği
Math.f16round() ile 16 bit kayan nokta yuvarlaması yapılabiliyor
- TypedArray'e
Float16Array türü eklendi
DataView'a getFloat16(), setFloat16() metotları eklendi
Referans materyaller ve ücretsiz kitap
- Ücretsiz çevrimiçi kitap “Exploring JavaScript (ES2025 Edition)” sunuluyor
- JavaScript'in tarihi ve gelişimi ile yeni ECMAScript özelliklerini ayrıntılı biçimde açıklıyor
- Başlıca yeni özellikler için gerçek kullanım örnekleri ve açıklamalar içeriyor
1 yorum
Geçen projede neden
jsonyüklemenin çalışmadığını anlayamamıştım.Meğer zaten bunu desteklemiyormuş.. vay be