ב-Chrome 72, הוספנו תמיכה עבור:
- עכשיו הרבה יותר קל ליצור שדות מחלקה ציבורית ב-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 בנושא שדות של כיתות.
ממשק 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!