扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
新特性:
专注于为中小企业提供网站建设、成都网站设计服务,电脑端+手机端+微信端的三站合一,更高效的管理,为中小企业范县免费做网站提供优质的服务。我们立足成都,凝聚了一批互联网行业人才,有力地推动了上1000+企业的稳健成长,帮助中小企业通过网站建设实现规模扩充和转变。
matchAll() 返回全局正则表达式的所有匹配项。
给定一个字符串或一个正则表达式, matchAll() 在所有匹配项的匹配对象上返回一个可迭代对象。
在以下示例中,我们收集数组匹配中组 1 的所有捕获:
没有标志 /g , exec() 始终只返回第一个匹配项:
这对 collectGroup1() 来说是个坏消息,因为如果 regExp 没有标志 /g ,它将永远不会完成。
如果你使用 match() ,使用设置了标志 /g 的正则表达式,可以在一个数组中获得它的所有完整匹配项(换句话说,捕获组被忽略):
如果未设置 /g , match() 的工作原理与 RegExp.prototype.exec() 类似:
你可以使用一个技巧通过收集捕获 replace() :我们使用一个函数来计算替换值。该函数接收所有捕获信息。但是,它不计算替换值,而是在数组匹配中收集感兴趣的数据:
对于不带标志 /g 的正则表达式, replace() 只访问第一个匹配项。
test() 只要正则表达式匹配,就返回 true :
split() 可以拆分字符串并使用字符串或正则表达式指定分隔符。如果该正则表达式至少包含一个捕获组,则 split() 返回一个数组,其中子字符串与第一个组捕获的内容交错:
在此之前,我们只能使用静态导入,它只接受模块路径的字符串。使用动态导入,我们必须使用 Promise 有条件地导入模块。
用于保存有关当前模块的特定于主机的元数据的 元属性 。
BigInt 一种用于大整数运算的新原始数据类型,表示大于 2⁵³ 的数字。
BigInt 使用一系列数字,后缀为 n 。
typeof 的返回值为 bigint :
当所有给定的 Promise 都得到解决时返回( resolved 或 rejected ,无关紧要)。
在此之前,全局对象由于不同的 JavaScript 环境有不同的语法:
globalThis 为所有 JavaScript 环境中的全局对象提供了单一语法。
但 globalThis 会对性能产生负面影响,也可能会产生一些不到的错误,建议使用 ES6 的一些特性避免全局对象,例如:
可选链 ?. 是一种访问嵌套对象属性的安全的方式。即使中间的属性不存在,也不会出现错误。
如果问号前面的值不是 undefined 也不是 null ,则执行问号后面的操作。否则,返回 undefined 。它有如下三种语法:
缺点:
您还可以使用解构来处理链式属性访问,但这并不美观:
可选链( ?. )已经支持大部分的主流浏览器:
如果您需要支持 IE 或更低版本浏览器,babel 有一个插件 — @babel/plugin-proposal-optional-chaining 。
?? 为二元运算符。如果左侧表达式的值为 null 或 undefined ,则计算运算符的右侧。
可以看到,它只关心左侧的值是否为 null 或 undefined ,而不在乎是否为虚值。
语法:
示例:
Airbnb 规范 建议我们不要使用通配符导入。
并且不要直接从 import 中 export
不同的引擎已就如何指定 for-in 枚举顺序达成一致,从而使行为标准化。
ECMAScript 2020: the final feature set
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流