Chrome 72'de aşağıdaki özellikler için destek ekledik:
- JavaScript'te herkese açık sınıf alanları oluşturmak artık çok daha kolay.
- Yeni Kullanıcı Etkinleştirme API'si ile bir sayfanın etkinleştirilip etkinleştirilmediğini görebilirsiniz.
- Listeleri yerelleştirmek,
Intl.format()
API ile çok daha kolay hale geliyor.
Daha birçok özellik de var.
Adım Pete LePage. Chrome 72'de geliştiriciler için neler yeni olduğuna göz atalım.
Değişiklik günlüğü
Bu makalede, öne çıkan özelliklerden yalnızca bazıları ele alınmıştır. Chrome 72'deki diğer değişiklikler için aşağıdaki bağlantılara göz atın.
- Chromium kaynak deposu değişiklik listesi
- Chrome 72 için ChromeStatus.com güncellemeleri
- Chrome 72'de desteği sonlandırılan ve kaldırılan özellikler
Herkese açık sınıf alanları
İlk dilim Javaydı ve JavaScript öğrenmek beni biraz başa çıkmaya itti. Nasıl sınıf oluşturabilirim? Yoksa miras mı? Herkese açık ve gizli mülkler ve yöntemler ne olacak? Nesne odaklı programlamayı çok daha kolaylaştıran JavaScript güncellemelerinin birçoğu.
Artık istediğim gibi çalışan sınıflar oluşturabiliyorum. Bu sınıflarda kurucular, alıcı ve ayarlayıcılar, statik yöntemler ve herkese açık özellikler bulunuyor.
Chrome 72 ile birlikte sunulan V8 7.2 sayesinde artık herkese açık sınıf alanlarını doğrudan sınıf tanımında tanımlayabilirsiniz. Böylece, bunu oluşturucuda yapma zorunluluğunu ortadan kaldırabilirsiniz.
class Counter {
_value = 0;
get value() {
return this._value;
}
increment() {
this._value++;
}
}
const counter = new Counter();
console.log(counter.value);
// → 0
counter.increment();
console.log(counter.value);
// → 1
Özel sınıf alanları için destek çalışmaları devam ediyor.
Daha fazla bilgi için Mathias'ın sınıf alanları hakkındaki makalesine göz atın.
User Activation API
Sitelerin sayfa yüklendikten hemen sonra otomatik olarak ses çaldığı günleri hatırlıyor musunuz? Sesi kapatma tuşuna basmaya veya hangi sekme olduğunu bulup kapatmaya çalışırsınız. Bu nedenle, bazı API'lerin çalışması için kullanıcı hareketi aracılığıyla etkinleştirilmesi gerekir. Maalesef tarayıcılar etkinleştirmeyi farklı şekillerde ele alıyor.
Chrome 72, tüm sınırlı API'ler için kullanıcı etkinleştirmeyi basitleştiren Kullanıcı Etkinleştirme v2'yi kullanıma sunar. Bu özellik, etkinleştirmenin tüm tarayıcılarda nasıl çalıştığını standartlaştırmayı amaçlayan yeni bir özelliğe dayanır.
Hem navigator
hem de MessageEvent
'de hasBeenActive
ve isActive
olmak üzere iki özelliği olan yeni bir userActivation
mülkü vardır:
hasBeenActive
, ilişkilendirilen pencerenin yaşam döngüsü boyunca hiç kullanıcı etkinleştirmesi görüp görmediğini belirtir.isActive
, ilişkilendirilmiş pencerede şu anda yaşam döngüsünde bir kullanıcı etkinleştirme işlemi olup olmadığını belirtir.
Daha fazla bilgi için Kullanıcı etkinleştirmesini API'ler arasında tutarlı hale getirme başlıklı makaleyi inceleyin.
Intl.format
ile öğe listelerini yerelleştirme
Intl
API'lerini seviyorum. İçeriği diğer dillere yerelleştirmek için çok faydalı. Chrome 72'de, listeleri oluşturmayı kolaylaştıran yeni bir .format()
yöntemi vardır. Diğer Intl
API'leri gibi, performanstan ödün vermeden yükü JavaScript motoruna aktarır.
İstediğiniz yerel ayarla başlatın, ardından format
işlevini çağırın. Böylece doğru kelimeleri ve sözdizimini kullanır. Bağlaçları da kullanabilir. Bu sayede ve ifadesinin yerelleştirilmiş eşdeğerini ekleyebilirsiniz (ve bu güzel Oxford virgüllerine bakın). or operatörünün yerel eşdeğerini ekleyerek ayırma işlemleri yapabilir. Ayrıca bazı ek seçenekler sağlayarak daha fazlasını da yapabilirsiniz.
const opts = {type: 'disjunction'};
const lf = new Intl.ListFormat('fr', opts);
lf.format(['chien', 'chat', 'oiseau']);
// → 'chien, chat ou oiseau'
lf.format(['chien', 'chat', 'oiseau', 'lapin']);
// → 'chien, chat, oiseau ou lapin'
Daha fazla bilgi için Intl.ListFormat API konulu yayına göz atın.
Diğer özellikler
Bunlar, Chrome 72'de geliştiriciler için değişikliklerden sadece birkaçı. Elbette daha pek çok şey var.
- Chrome 72,
Cache.addAll()
işlevinin davranışını spesifikasyonla daha iyi eşleşecek şekilde değiştirir. Daha önce, aynı çağrıda yinelenen girişler varsa sonraki istekler ilk isteğin üzerine yazardı. Spesifikasyonla eşleşmek için yinelenen girişler varsaInvalidStateError
ile reddedilir. - Site simgesi istekleri, istek URL'si hizmet çalışanıyla aynı kaynakta olduğu sürece artık hizmet çalışanı tarafından işlenmektedir.
Abone ol
Videolarımızdan haberdar olmak için Chrome Developers YouTube kanalımıza abone olun. Yeni bir video yayınladığımızda e-posta bildirimi alırsınız.
Adım Pete LePage. Chrome 73 yayınlanır yayınlanmaz Chrome'daki yenilikleri size bildirmek için burada olacağım.