בגרסה 72 של Chrome הוספנו תמיכה באפשרויות הבאות:
- עכשיו קל יותר ליצור שדות של כיתות ציבוריות ב-JavaScript.
- אתם יכולים לראות אם דף הופעל באמצעות User Activation API החדש
- הלוקליזציה של רשימות הופכת לקלילה יותר באמצעות ה-API של
Intl.format()
.
ויש עוד הרבה!
קוראים לי Pete LePage. נצלול פנימה ונראה מה חדש למפתחים בגרסה 72 של Chrome.
יומן שינויים
זוהי רק רשימה חלקית של השינויים העיקריים. בקישורים שבהמשך מפורטים שינויים נוספים ב-Chrome 72.
- רשימת השינויים במאגר המקור של Chromium
- עדכונים ב-ChromeStatus.com לגרסה 72 של Chrome
- תכונות שהוצאו משימוש והוסרו מ-Chrome 72
שדות של כיתות ציבוריות
השפה הראשונה שלי הייתה Java, ולמידת JavaScript הייתה לי קצת מאתגרת. איך יצרתי כיתה? או ירושה? מה קורה עם מאפיינים ושיטות ציבוריים ופרטיים? רבים מהעדכונים האחרונים ל-JavaScript שמקלים מאוד על תכנות מונחת-אובייקטים.
עכשיו אפשר ליצור כיתות שפועלות כמו שציפיתי, עם קונסטרוקטורים, פונקציות getter ו-setter, שיטות סטטיות ומאפיינים ציבוריים.
הודות ל-V8 7.2, שמגיע עם Chrome 72, עכשיו אפשר להצהיר על שדות של כיתות ציבוריות ישירות בהגדרת הכיתה, ולחסוך את הצורך לעשות זאת ב-constructor.
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
אנחנו עובדים על תמיכה בשדות פרטיים של כיתות.
פרטים נוספים זמינים במאמר של Mathias בנושא שדות של כיתות.
User Activation API
זוכרים את הימים שבהם אתרים יכלו להשמיע אודיו באופן אוטומטי ברגע שהדף נטען? אתם ממהרים ללחוץ על מקש ההשתקה או לברר איזו כרטיסייה הייתה פתוחה ולסגור אותה. לכן, כדי שממשקי API מסוימים יפעלו, צריך להפעיל אותם באמצעות תנועת משתמש. לצערנו, הדפדפנים מטפלים בהפעלה בדרכים שונות.

ב-Chrome 72 הושקתה גרסה 2 של User Activation, שמפשטת את הפעלת המשתמשים בכל ממשקי ה-API המוגנים. הוא מבוסס על מפרט חדש שמטרתו לסטנדרטיזציה של אופן הפעולה של ההפעלה בכל הדפדפנים.
יש מאפיין userActivation
חדש גם ב-navigator
וגם ב-MessageEvent
, שיש לו שני מאפיינים: hasBeenActive
ו-isActive
:
- השדה
hasBeenActive
מציין אם בחלון המשויך הייתה פעם הפעלה של משתמש במהלך מחזור החיים שלו. - השדה
isActive
מציין אם בחלון המשויך יש כרגע הפעלת משתמש במחזור החיים שלו.
פרטים נוספים זמינים במאמר איך מבצעים הפעלה עקבית של משתמשים בממשקי API שונים
התאמה של רשימות פריטים לשוק המקומי באמצעות Intl.format
אני אוהב את ממשקי ה-API של Intl
, הם מאוד מועילים ללוקליזציה של תוכן לשפות אחרות. ב-Chrome 72 יש שיטה חדשה של .format()
שמקלה על היצירה של רשימות. בדומה לממשקי API אחרים של Intl
, הוא מעביר את העומס למנוע JavaScript בלי להקריב את הביצועים.
מפעילים אותו עם הלוקאל הרצוי, ואז קוראים ל-format
, והוא ישתמש במילים ובתחביר הנכונים. הוא יכול להוסיף מילות קישור – כך יתווסף המקבילה המקומית של ו (ושימו לב לנקודות האוקספורדיות היפות). אפשר להשתמש בו כדי לבצע פעולות חיבור (disjunctions) – הוספת המקבילה המקומית של או. אם תוסיפו כמה אפשרויות נוספות, תוכלו לעשות הרבה יותר.
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'
פרטים נוספים זמינים בפוסט Intl.ListFormat API.
ועוד.
אלה רק כמה מהשינויים ב-Chrome 72 למפתחים, כמובן שיש עוד הרבה.
- ב-Chrome 72, ההתנהגות של
Cache.addAll()
השתנתה כדי להתאים טוב יותר למפרט. בעבר, אם היו רשומות כפולות באותה קריאה, בקשות מאוחרות יותר היו מחליפות פשוט את הראשונה. כדי לעמוד בדרישות המפרט, אם יש רשומות כפולות, המערכת תדחה אותן עםInvalidStateError
. - הבקשות לסמלי ICO מטופלות עכשיו על ידי ה-service worker, כל עוד כתובת ה-URL של הבקשה נמצאת באותו מקור כמו ה-service worker.
להרשמה
רוצים להתעדכן בסרטונים שלנו? נרשמתם לערוץ YouTube של מפתחי Chrome, ותקבלו התראה באימייל בכל פעם שנעלה סרטון חדש.
קוראים לי פיט לייפיג', ואחרי שגרסת Chrome 73 תפורסם, אספר לכם מה חדש ב-Chrome.