📅  最后修改于: 2023-12-03 15:01:39.796000             🧑  作者: Mango
JavaScript 作为一门近年来崭露头角的编程语言,在不断地发展和更新。2020年底,JavaScript 又新增了一些关键字,本文将对这些关键字进行介绍。
import
和 export
以前在 JavaScript 中,导入和导出模块需要使用第三方库或者自己手动实现。但是自 ES6 以来,import
和 export
关键字已经成为内置的 JavaScript 语法,能够轻松地导入和导出模块。
下面是一个使用 import
导入模块的示例:
// 导入一个默认导出的模块
import MyModule from './MyModule.js';
// 导入多个命名导出的模块
import { namedExport1, namedExport2 } from './MyModule.js';
// 导入默认导出和多个命名导出的模块
import MyModule, { namedExport1, namedExport2 } from './MyModule.js';
下面是一个使用 export
导出模块的示例:
// 导出一个默认导出的模块
export default function MyFunction() {
//...
}
// 导出多个命名导出的模块
export const namedExport1 = 'value1';
export const namedExport2 = 'value2';
let
和 const
在 ES6 之前,JavaScript 中只有 var
命令用来声明变量。var
命令有很多缺陷,比如它可以在函数内部任何位置声明变量,且声明的变量会提升到函数顶部。而 let
和 const
是新的声明变量的方式。它们解决了 var
的一些问题并且为 JavaScript 增加了一些新特性。
let
let
可以在代码块中声明变量,不会发生变量提升。它的作用域是代码块内。
let x = 1;
if (true) {
let x = 2;
console.log(x); // 输出 2
}
console.log(x); // 输出 1
const
const
声明的变量是常量,一旦声明,它的值就不能被改变。它的作用域与 let
相同,也是在代码块内。
const PI = 3.1415;
PI = 3; // 报错,因为 PI 是一个常量
async
和 await
JavaScript 是单线程执行的语言,因此异步编程在其中尤其重要。在 ES7 中,JavaScript 引入了 async
和 await
两个新关键字来简化异步编程。
async
async
函数是指返回一个 Promise 对象的函数。在函数中,你可以使用 await
暂停和恢复异步执行。
async function myFunction() {
return 'Hello world!';
}
myFunction().then((result) => {
console.log(result); // 输出 'Hello world!'
});
await
await
只能在 async
函数中使用。当使用 await
等待一个 Promise 对象时,它会暂停执行,直到 Promise 对象返回一个结果。
async function myFunction() {
let promise = new Promise((resolve, reject) => {
setTimeout(() => resolve('done!'), 1000);
});
let result = await promise; // 等待 promise 完成
console.log(result); // 输出 'done!'
}
myFunction();
以上是 JavaScript 中新增的一些关键字。通过使用 import
和 export
可以更方便地管理代码模块,使用 let
和 const
可以避免一些常见的错误,使用 async
和 await
可以使异步编程更简单而不必使用回调函数和 Promise 对象。