جدید در کروم 72

در Chrome 72، ما پشتیبانی از موارد زیر را اضافه کرده‌ایم:

  • ایجاد فیلدهای کلاس عمومی در جاوا اسکریپت اکنون بسیار تمیزتر است.
  • می توانید ببینید آیا صفحه ای با User Activation API جدید فعال شده است یا خیر
  • بومی سازی لیست ها با API Intl.format() بسیار آسان تر می شود.

و خیلی چیزهای دیگر وجود دارد!

من پیت لی پیج هستم. بیایید وارد آن شویم و ببینیم چه چیزی برای توسعه دهندگان در Chrome 72 جدید است!

تغییر گزارش

این فقط برخی از نکات کلیدی را پوشش می دهد، پیوندهای زیر را برای تغییرات بیشتر در Chrome 72 بررسی کنید.

زمینه های کلاس عمومی

زبان اول من جاوا بود، و یادگیری جاوا اسکریپت باعث شد کمی سرگردان باشم. چگونه یک کلاس ایجاد کردم؟ یا ارث؟ املاک و روش های عمومی و خصوصی چطور؟ بسیاری از به روز رسانی های اخیر جاوا اسکریپت که برنامه نویسی شی گرا را بسیار آسان می کند.

اکنون می‌توانم کلاس‌هایی را ایجاد کنم که مانند انتظار من از آنها کار می‌کنند، با سازنده‌ها، دریافت‌کننده‌ها و تنظیم‌کننده‌ها، متدهای استاتیک و ویژگی‌های عمومی کامل شوند.

به لطف V8 7.2 که با کروم 72 عرضه می شود، اکنون می توانید فیلدهای کلاس عمومی را مستقیماً در تعریف کلاس اعلام کنید و نیازی به انجام آن در سازنده را از بین ببرید.

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ها قبل از اینکه کار کنند نیاز به فعال سازی از طریق ژست کاربر دارند. متأسفانه مرورگرها فعال سازی را به روش های مختلفی انجام می دهند.

API فعال سازی کاربر قبل و بعد از تعامل کاربر با صفحه.

Chrome 72 User Activation v2 را معرفی می‌کند که فعال‌سازی کاربر را برای همه APIهای دروازه‌دار ساده می‌کند. این بر اساس مشخصات جدیدی است که هدف آن استاندارد کردن نحوه عملکرد فعال‌سازی در همه مرورگرها است.

یک ویژگی userActivation جدید هم در navigator و هم در MessageEvent وجود دارد که دو ویژگی دارد: hasBeenActive و isActive :

  • hasBeenActive نشان می دهد که آیا پنجره مرتبط تا به حال فعال سازی کاربر را در چرخه عمر خود دیده است یا خیر.
  • isActive نشان می دهد که آیا پنجره مرتبط در حال حاضر یک فعال سازی کاربر در چرخه عمر خود دارد یا خیر.

جزئیات بیشتر در ایجاد سازگاری فعال‌سازی کاربر در بین APIها موجود است

بومی سازی لیست چیزها با Intl.format

من عاشق API های Intl هستم، آنها برای بومی سازی محتوا به زبان های دیگر بسیار مفید هستند! در کروم 72، یک روش جدید .format() وجود دارد که رندر کردن لیست ها را آسان تر می کند. مانند سایر APIهای Intl ، بار را به موتور جاوا اسکریپت منتقل می کند، بدون اینکه عملکرد را به خطر بیندازد.

آن را با محلی که می‌خواهید راه‌اندازی کنید، سپس format فراخوانی کنید و از کلمات و نحو درست استفاده می‌کند. می تواند حروف ربط را انجام دهد - که معادل موضعی و را اضافه می کند (و به آن کاماهای زیبای آکسفورد نگاه کنید). می‌تواند تفکیک‌ها را انجام دهد - با اضافه کردن معادل محلی یا . و با ارائه چند گزینه اضافی، می توانید کارهای بیشتری انجام دهید.

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'

برای جزئیات بیشتر، پست API Intl.ListFormat را بررسی کنید!

و بیشتر!

اینها تنها تعدادی از تغییرات کروم 72 برای توسعه دهندگان است، البته موارد بسیار بیشتری نیز وجود دارد.

  • Chrome 72 رفتار Cache.addAll() را تغییر می‌دهد تا بهتر با مشخصات مطابقت داشته باشد. قبلاً، اگر ورودی های تکراری در همان تماس وجود داشت، درخواست های بعدی به سادگی اولی را بازنویسی می کردند. برای مطابقت با مشخصات، اگر ورودی های تکراری وجود داشته باشد، با یک InvalidStateError رد می شود .
  • درخواست‌های فاویکون‌ها اکنون توسط سرویس‌کار رسیدگی می‌شود، تا زمانی که URL درخواست در همان مبدأ با سرویس‌کار باشد.

مشترک شوید

می‌خواهید با ویدیوهای ما به‌روز بمانید، سپس در کانال YouTube Developers Chrome مشترک شوید و هر زمان که ویدیوی جدیدی را راه‌اندازی کنیم، یک اعلان ایمیلی دریافت خواهید کرد.

من Pete LePage هستم، و به محض اینکه Chrome 73 منتشر شد، اینجا خواهم بود تا به شما بگویم -- چه چیزهای جدیدی در Chrome وجود دارد!