JavaScript 中的 Hooks 是什么以及它们如何被 Mocha 等 JavaScript 测试框架使用?

问题描述

我正在阅读有关 Node.js Assertion Class内容时,被我所看到的震惊了——在 as 语句析构函数括号内有一个 import 运算符!出于以下几个原因,这令人惊讶:

  1. 一方面,我以前认为关键字 as 只是一个 TypeScript 保留字,与 JavaScript 或 Node.js,我并不孤单。在撰写此问题之前,我使用了 DuckDuckGo 关键字,并得到以下 StackOverflow 问题作为搜索结果之一:

回答上述问题的每个人都说了同样的话,“关键字 as 是 TypeScript 的东西”。似乎 as 作为 Node.js 的一部分还不是很出名。

  1. 一个让我感到惊讶的原因(也就是我的问题)与 as 关键字位于 as 语句析构函数括号内的位置有关,如下所示:

(如果你没有看过上面的 Node.js 链接,你可以跳过它,下面是我一直提到的 import用法。)

as

那么我想知道的是 import { strict as assert } from 'assert'; import assert from 'assert/strict'; 关键字在 Node.JS 中是如何工作的?它会在断言之外有用例,还是上面的 import 语句是一个单一的用例?

解决方法

as 关键字是 ES6 模块语法的一部分。

当您需要重命名导出的命名变量/函数以避免库和代码之间的冲突时,或者只是因为您想重命名它时,您可以使用 as XD

您可以在此处阅读有关它的更多信息 https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/import#import_an_export_with_a_more_convenient_alias