虽然说是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新特性!