我正在努力完全理解JavaScript导入和导出。根据上的语法图https://tc39.es/ecma262/#sec-导出有一个空块是有效的,我认为这意味着什么都不导入,那么它是用来做什么的呢?示例:
import { } from './somewhere.js'
它将在somewhere.js中运行代码。这可能对初始化某些东西很有用,但如果你只需要这些,你可以使用获得相同的效果
import './somewhere.js'
所以我真的看不出有什么理由写你问的这个例子。
如果非要我猜测的话,我会假设它被允许的原因是,允许N个命名导入(例如import { foo, bar, baz } from './somewhere.js"
(的定义很容易有import { } from './somewhere.js
的基本情况,而没有理由禁止空情况。
让我们以下面的代码为例
./somewhere.js
console.log('imported');
export const PI = 3;
使用import { } from './somewhere.js'
导入上面的代码将导致登录控制台。import './somewhere.js'
也是如此。