ES13(ES2022)中11个新特性解读与其他大多数编程语言一样,JavaScript 也在不断发展中,每年都会增加很多新特性和功能来变得更强大,让开发人员能够编写更富有表现力和更简洁的代码。让我们了解一下ECMAScript 2022 (ES13)中添加的最新特性,并查看它们的使用示例,以便更好地理解它们。1. 类字段声明在ES13之前,类字段只能在构造函数中声明。与大部分语言不同,我们不能在类的最外层作用域声明或定义它们。类字段:字段是对象的属性,状态的表示,又称为域 域变量 成员变量 字段变量class Car { constructor() { this.color = 'blue'; this.age = 2; } } const car = new Car(); console.log(car.color); // blue console.log(car.age); // 2ES13 移除了这个限制。现在我们可以这样编写代码:class Car { color = 'blue'; age = 2; } const
1. 什么是宏任务和微任务JavaScript 把异步任务又做了进一步的划分,异步任务又分为两类,分别是:① 宏任务(macrotask): 宿主环境提供的异步方法都是宏任务script全部代码异步 Ajax 请求setTimeout、setInterval文件操作DOM事件I/OUIrendering② 微任务(microtask):语言标准提供PromiseAsync / AwaitmutationObserverProcess.nextTick(Node独有)2. Event Loop 和DOM渲染console.log('script start'); setTimeout(() => { console.log('setTimeout'); }, 0); new Promise((resolve) => { console.log('promise1'); resolve(); }); const div = document.createElement('div') div.innerHTML = '<h1>hello<
async/await 是ES7 (ECMAscript 2016)提出的基于Promise的解决异步回调的最终方案;使用同步语法编写异步代码,彻底消灭回调函数;async / await是基于Promise实现的,不能用于普通的回调函数;async / await 并不能改变异步的本质( js是单线程的,异步需要回调,都是要基于 event loop 来实现);await 后面的代码,都可以看做是异步回调 callback 里的内容,都是异步的;async / await 和Promise不互斥,两者相辅相成。1.基本使用方法async关键字: 放在函数声明之前,表明该函数是一个异步函数。该异步函数会返回一个Promise对象,当函数执行完毕的时候,我们可以像使用Promise一样进行调用then方法处理后续流程。async function getAsync() { return 'ASYNC DATA'; } const a1 = getAsync(); // Promise a1.then(function (value) { console.log(valu
Gonwe
一念智即般若生。
CC BY-SA 4.0