当前位置:首页 > 科技  > 软件

ES13 中最具变革性的五个 JavaScript 功能

来源: 责编: 时间:2024-07-17 16:50:22 257观看
导读ES13 包含许多有价值的功能,彻底改变了我们编写 JavaScript 的方式。从异步升级到数组糖等等,让我们来看看它们,看看你错过了什么。1. 顶级 await在 ES13 之前,我们永远无法在全局范围内使用 await。之前:我们总是必须将其

ES13 包含许多有价值的功能,彻底改变了我们编写 JavaScript 的方式。KeG28资讯网——每日最新资讯28at.com

KeG28资讯网——每日最新资讯28at.com

从异步升级到数组糖等等,让我们来看看它们,看看你错过了什么。KeG28资讯网——每日最新资讯28at.com

1. 顶级 await

在 ES13 之前,我们永远无法在全局范围内使用 await。KeG28资讯网——每日最新资讯28at.com

之前:KeG28资讯网——每日最新资讯28at.com

KeG28资讯网——每日最新资讯28at.com

我们总是必须将其放入异步函数中或创建一个异步 IIFE:KeG28资讯网——每日最新资讯28at.com

KeG28资讯网——每日最新资讯28at.com

ES13 之后:KeG28资讯网——每日最新资讯28at.com

KeG28资讯网——每日最新资讯28at.com

2. 类声明升级

1). 类字段声明

在 ES13 之前,我们只能在构造函数中声明类字段:KeG28资讯网——每日最新资讯28at.com

与许多其他语言不同,我们不能在类的最外层范围内声明或定义它们。KeG28资讯网——每日最新资讯28at.com

之前:KeG28资讯网——每日最新资讯28at.com

KeG28资讯网——每日最新资讯28at.com

现在有了 ES13:KeG28资讯网——每日最新资讯28at.com

就像在 TypeScript 中一样:KeG28资讯网——每日最新资讯28at.com

KeG28资讯网——每日最新资讯28at.com

2). 私有方法和字段

在 ES13 之前,创建私有方法是不可能的。KeG28资讯网——每日最新资讯28at.com

我们还不得不使用丑陋的下划线 hack 来表示隐私——但那只是一种暗示。KeG28资讯网——每日最新资讯28at.com

之前:KeG28资讯网——每日最新资讯28at.com

KeG28资讯网——每日最新资讯28at.com

KeG28资讯网——每日最新资讯28at.com

现在 ES13 之后:KeG28资讯网——每日最新资讯28at.com

我们可以通过在类前面加上井号 (#) 来向类添加私有字段和成员:KeG28资讯网——每日最新资讯28at.com

如果您尝试从类外部访问它,则会收到语法错误:KeG28资讯网——每日最新资讯28at.com

KeG28资讯网——每日最新资讯28at.com

我们可以从错误消息中看到一些有趣的东西:KeG28资讯网——每日最新资讯28at.com

编译器甚至不期望您尝试从类外部访问私有字段——它假设您正在尝试创建一个。KeG28资讯网——每日最新资讯28at.com

3). 静态类字段和静态私有方法

静态字段——类本身的属性,而不是任何特定实例。KeG28资讯网——每日最新资讯28at.com

自 ES13 以来,我们现在可以轻松地为任何类创建它们:KeG28资讯网——每日最新资讯28at.com

KeG28资讯网——每日最新资讯28at.com

3. 数组升级:新的 at() 方法

因此,我们通常使用方括号 ([]) 来访问数组的第 N 个元素。KeG28资讯网——每日最新资讯28at.com

KeG28资讯网——每日最新资讯28at.com

但访问从末尾开始的第 N 个项目总是很麻烦——我们必须使用 arr.length - N 进行索引:KeG28资讯网——每日最新资讯28at.com

ES13 之前:KeG28资讯网——每日最新资讯28at.com

KeG28资讯网——每日最新资讯28at.com

幸运的是,ES13 带来了新的 at() 方法,解决了所有问题:KeG28资讯网——每日最新资讯28at.com

KeG28资讯网——每日最新资讯28at.com

4. 静态类块

静态字段带来了静态块。KeG28资讯网——每日最新资讯28at.com

在创建类时只执行一次代码 — 就像 C# 和 Java 等 OOP 语言中的静态构造函数一样。KeG28资讯网——每日最新资讯28at.com

因此,您可以在类中创建任意数量的静态块 — 所有代码都将按照您定义它们的顺序运行:KeG28资讯网——每日最新资讯28at.com

KeG28资讯网——每日最新资讯28at.com

5. 错误报告升级

因此,有时我们会捕获调用堆栈下方方法的错误,然后将其重新抛回堆栈。KeG28资讯网——每日最新资讯28at.com

但当我们这样做时,我们会丢失原始错误中的关键信息:KeG28资讯网——每日最新资讯28at.com

KeG28资讯网——每日最新资讯28at.com

这就是为什么 ES13 引入了一个新的原因属性来保存这些重要信息并使调试更容易:KeG28资讯网——每日最新资讯28at.com

KeG28资讯网——每日最新资讯28at.com

最后的想法

总体而言,ES13 对 JavaScript 来说是一次重大飞跃,它具有多项对现代开发至关重要的功能。KeG28资讯网——每日最新资讯28at.com

让您能够编写更简洁、更具表现力和更清晰的更干净的代码。KeG28资讯网——每日最新资讯28at.com


KeG28资讯网——每日最新资讯28at.com

本文链接:http://www.28at.com/showinfo-26-101374-0.htmlES13 中最具变革性的五个 JavaScript 功能

声明:本网页内容旨在传播知识,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。邮件:2376512515@qq.com

上一篇: Python 解析 XML 格式数据:实战指南

下一篇: CSS锚点定位终于来了!

标签:
  • 热门焦点
  • 卢伟冰长文解析K60至尊版 对Redmi有着里程碑式的意义

    在今天的Redmi后性能时代战略发布会结束之后,Redmi总经理卢伟冰又带来了一篇长文,详解了为什么 Redmi 要开启后性能时代?为什么选择和 MediaTek、Pixelworks 深度合作?以及后性
  • Mate60手机壳曝光 致敬自己的经典设计

    8月3日消息,今天下午博主数码闲聊站带来了华为Mate60的第三方手机壳图,可以让我们在真机发布之前看看这款华为全新旗舰的大致轮廓。从曝光的图片看,Mate 60背后摄像头面积依然
  • 俄罗斯:将审查iPhone等外国公司设备 保数据安全

    iPhone和特斯拉都属于在各自领域领头羊的品牌,推出的产品也也都是数一数二的,但对于一些国家而言,它们的产品可靠性和安全性还是在限制范围内。近日,俄罗斯联邦通信、信息技术
  • 得物效率前端微应用推进过程与思考

    一、背景效率工程随着业务的发展,组织规模的扩大,越来越多的企业开始意识到协作效率对于企业团队的重要性,甚至是决定其在某个行业竞争中突围的关键,是企业长久生存的根本。得物
  • 三言两语说透柯里化和反柯里化

    JavaScript中的柯里化(Currying)和反柯里化(Uncurrying)是两种很有用的技术,可以帮助我们写出更加优雅、泛用的函数。本文将首先介绍柯里化和反柯里化的概念、实现原理和应用
  • 在线图片编辑器,支持PSD解析、AI抠图等

    自从我上次分享一个人开发仿造稿定设计的图片编辑器到现在,不知不觉已过去一年时间了,期间我经历了裁员失业、面试找工作碰壁,寒冬下一直没有很好地履行计划.....这些就放在日
  • 一文掌握 Golang 模糊测试(Fuzz Testing)

    模糊测试(Fuzz Testing)模糊测试(Fuzz Testing)是通过向目标系统提供非预期的输入并监视异常结果来发现软件漏洞的方法。可以用来发现应用程序、操作系统和网络协议等中的漏洞或
  • 苹果、三星、惠普等暂停向印度出口笔记本和平板电脑

    集微网消息,据彭博社报道,在8月3日印度突然禁止在没有许可证的情况下向印度进口电脑/平板及显示器等产品后,苹果、三星电子和惠普等大公司暂停向印度
  • 三星折叠屏手机去年销售近1000万台 今年目标定为1500万

    7月29日消息,三星率先发力可折叠手机市场,在全球市场已经取得了非常亮眼的成绩,接下来会进一步巩固和扩大这一优势。三星在推出Galaxy Z Flip5和Galax
Top