Chrome 72'de aşağıdakiler için destek ekledik:
- JavaScript'te genel sınıf alanları oluşturmak artık çok daha basit.
- Yeni User Activate API ile bir sayfanın etkinleştirilip etkinleştirilmediğini görebilirsiniz.
- Listeleri yerelleştirmek,
Intl.format()
API ile çok daha kolay hale gelir.
Ve çok daha fazlası da var!
Adım Pete LePage. Şimdi Chrome 72'deki geliştiriciler için yapılan yenilikleri görelim!
Değişiklik günlüğü
Öne çıkan özelliklerden yalnızca birkaçını ele aldık. Chrome 72'deki ek 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 için desteğin sonlandırılması ve kaldırılması
Herkese açık sınıf alanları
İlk dilim Javaydı ve JavaScript'i öğrenmek benim için yolunda gitmedi. Nasıl sınıf oluşturdum? Yoksa devralma mı? Herkese açık ve gizli mülkler ve yöntemler ne olacak? Nesne odaklı programlamayı çok daha kolaylaştıran JavaScript son güncellemelerinin birçoğu.
Artık oluşturucular, alıcılar ve belirleyiciler, statik yöntemler ve kamu mülklerle eksiksiz olarak, beklediğim gibi çalışan sınıflar oluşturabilirim.
Chrome 72 ile birlikte gelen V8 7.2 sayesinde, herkese açık sınıf alanlarını artık doğrudan sınıf tanımında belirtebilirsiniz. Böylece, oluşturucuda bunu yapma ihtiyacını ortadan kaldırır.
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 yakında devam ediyor!
Daha ayrıntılı bilgiyi Mathias'ın sınıf alanları ile ilgili makalesinde bulabilirsiniz.
Kullanıcı Etkinleştirme API'sı
Sitelerin, sayfa yüklenir yüklenmez otomatik olarak ses çalabildiğini hatırlıyor musunuz? Kapatma tuşuna basmak için uğraşırsınız veya tuşun hangi sekme olduğunu öğrenip kapatabilirsiniz. Bu nedenle, bazı API'lerin çalışması için önce kullanıcı hareketiyle aktivasyon gerekir. Maalesef, tarayıcılar etkinleştirme işlemini farklı şekillerde gerçekleştirir.
Chrome 72, tüm güvenlikli API'ler için kullanıcı etkinleştirmesini kolaylaştıran Kullanıcı Etkinleştirme v2'yi kullanıma sunar. Bu özellik, etkinleştirmenin tüm tarayıcılarda çalışma şeklini standartlaştırmayı amaçlayan yeni bir spesifikasyona dayanır.
Hem navigator
hem de MessageEvent
üzerinde iki özelliği olan yeni bir userActivation
özelliği vardır: hasBeenActive
ve isActive
:
hasBeenActive
, ilişkilendirilmiş pencerenin yaşam döngüsünde bir kullanıcı etkinliğini hiç görüp görmediğini belirtir.isActive
, ilişkilendirilmiş pencerenin yaşam döngüsünde kullanıcı etkinleştirmesi olup olmadığını gösterir.
Daha fazla bilgi için Kullanıcı etkinleştirmesini API'ler genelinde tutarlı hale getirme başlıklı makaleyi inceleyin.
Intl.format
ile öğe listeleri yerelleştirme
Intl
API'lerini seviyorum. İçeriğin diğer dillerde yerelleştirilmesine
yardımcı oluyorlar. Chrome 72'de, listeleri oluşturmayı kolaylaştıran yeni bir .format()
yöntemi bulunmaktadır. Diğer Intl
API'lerinde olduğu gibi, iş yükünü performanstan ödün vermeden JavaScript motoruna taşır.
İstediğiniz yerel ayarla başlatın, ardından format
çağırın. Doğru kelimeleri ve söz dizimini kullanır. Bağlaçlar yapabilir. Bağlaçlar, ve'nin yerelleştirilmiş eşdeğerini ekler (ve şu güzel oxford virgüllerine bakın). veya yerel eşdeğerini ekleyerek ayırma işlemlerini yapabilir. Ayrıca, bazı ek seçenekler sağlayarak daha fazlasını 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 yayınına göz atın.
Diğer ölçütler
Bunlar, Chrome 72'de geliştiriciler için yapılan değişikliklerden sadece birkaçı. Elbette bunlar dışında çok daha fazlası var.
- Chrome 72, spesifikasyona daha iyi uyacak şekilde
Cache.addAll()
davranışını değiştirir. Önceden, aynı çağrıda yinelenen girişler varsa daha sonraki istekler ilkinin üzerine yazılırdı. Spesifikasyonla eşleşmesi için yinelenen girişler varsaInvalidStateError
ile reddedilir. - İstek URL'si hizmet çalışanı ile aynı kaynakta olduğu sürece site simgesi istekleri artık hizmet çalışanı tarafından işlenmektedir.
Abone ol
Videolarımızla ilgili güncel bilgileri edinmek isterseniz Chrome Developers YouTube kanalımıza abone olun. Yeni bir video yayınladığımızda e-posta bildirimi alırsınız.
Ben Pete LePage. Chrome 73 yayınlanır yayınlanmaz size Chrome'daki yenilikleri anlatacağım.