雖然說是GDG分享會,其實前端部分是由成都FCC負責人水歌分享的,感謝各位大佬們的分享!下面獻出一張現場照片(反正大家也不知道哪一個是我23333)javascript
本次分享水歌主要講了一下Chrome
要即將更新的75版本
的內容,以及已經提出,可是還未經過或者75版本
不會當即更新的功能,同時裏面也有些已經推出可是不多用的功能。我只是個分享會的搬運工~前端
下面進入正題!java
Portal
是一個Google
即將推出的新的HTML
標籤。在以往,咱們若是要嵌套一個網頁就會用iframe
操做,可是當iframe
展現頁面以後url
並沒改變,仍然是父級的url
。Portal
的出現就能夠解決這個問題,當點擊了Portal
標籤跳轉的頁面以後,url
欄所顯示的就是Portal
中展現的頁面的url
。想詳細瞭解的小夥伴能夠看一下這篇文章:Google launches Portals, a new web page navigation system for Chrome。web
Google
將提供本身的分享連接的API,無需再使用其餘插件。chrome
if(navigator.canShare())
navigator.share({
title: document.title,
text: '掘金',
url: 'https://juejin.im/timeline',
});
複製代碼
canShare
是Navigator
的一個interface
,返回布爾類型值,若是返回值爲true
那麼就能夠執行share
函數。share
函數中就是一個Objet
,內有text
、url
和title
三個字段,返回結果爲一個Promise
對象。瀏覽器
Google
也將會推出各類形狀檢測API
好比TextDetector
、FaceDetector
等。其實去年FaceDetector
已經在Android
推出了只不,可是接下來也將會在瀏覽器推出相應接口。async
對整數類型進行了加強,好比多了BigInt
來處理長整型溢出問題,數字後面加上n
來表示短整型,同時還有推出了能夠人爲分割數字的功能:函數
// 解決了數位數的問題
const integer = 1_0000_0000;
console.log(integer); // 100000000
複製代碼
事實上,在不一樣的 JavaScript
環境中拿到全局對象是須要不一樣的語句的。在 Web
中,能夠經過 window
、self
或者 frames
取到全局對象,可是在 Web Workers
中只有 self
能夠。在 Node.js
中,它們都沒法獲取,必須使用 global
。在鬆散模式下,能夠在函數中返回 this
來獲取全局對象,可是在嚴格模式下 this
會返回 undefined
。優化
globalThis
提供了一個標準的方式去獲取不一樣環境下的全局對象。它不像 window
或者 self
這些屬性,而是確保能夠在有無窗口的環境下均可以正常工做。因此你能夠安心的使用 globalThis
,沒必要擔憂它的運行環境。使用以下:ui
if (typeof globalThis.setTimeout !== 'function') {
// no setTimeout in this environment!
}
複製代碼
國際化API主要是處理數據的格式化,好比:時間、金額、物理單位等。好比:
const name = ['Thoughtful valiant.', 'niuniu', 'George'];
const and = new Intl.ListFormat('zh-CH', {type: 'conjunction'}),
or = new Intl.ListFormat('zh-CN', {type: 'disjunction'});
console.log(`U can call me ${and.format(name)}`);
// U can call me Thoughtful valiant.、niuniu和George
console.log(`U can call me ${or.format(name)}`);
// U can call me Thoughtful valiant.、niuniu或George
複製代碼
咱們經常使用的Promise.all()
和Promise.race()
其實並不全面,一個是所有resolve
返回結果,而另外一個是無論resolve
仍是reject
有結束的立馬返回結果。
爲了彌補不足,又添加了Promise.allSettled()
和Promise.any()
,前者是全部的結束以後返回結果(不論resolve
仍是reject
),後者是隻返回第一個resolve
的結果。
同時,咱們如今在使用await
時必須嵌套在async
內,在更新以後,咱們能夠直接使用await
一個Promise
對象,不用再像下面同樣再嵌套一個IIFE
:
(async function() {
await ...
}
)()
複製代碼
在現有的WeakMap
和WeakSet
等弱引用類型的基礎上,又增長了WeakRef
和FinalizationGroup
來優化垃圾回收。
今天水歌講的大體就這些(刪減了一些),就分享給你們!再次感謝各位大佬今天的分享,Respect!
Chrome Beta版本連接:Chrome-Beta;
同時你們能夠從這裏查看75版本
的Chrome Dev Tool新特性!