会在javascript中多次调用export function()吗?

Lar*_*y N 6 javascript import export

我想知道这是否

const getData = () => {
  const data = 1; // simplified complicated operations 
  return data;
};

export default getData();
Run Code Online (Sandbox Code Playgroud)

是否有任何性能差异:

const getData = () => {
  const data = 1;
  return data;
};

const toexport = getData(); // cache to a variable before exporting
export default toexport;
Run Code Online (Sandbox Code Playgroud)

问题归结为export 实际上是如何工作的。我读了很多文章,我可以设法让它工作,但我不明白它在幕后做了什么(找不到关于我的问题的文章)

如果导出是从差异导入的import,会getData()被调用一次还是每次导入都会被调用?

const getData = () => {
  const data = 1; // simplified complicated operations 
  return data;
};

export default getData();
Run Code Online (Sandbox Code Playgroud)

onm*_*133 3

只会评估一次。以下是模块导入两次时会发生什么情况的示例?

在increment.js中,我们声明一个名为counter的变量

let counter = 0;
counter++;

export default counter;
Run Code Online (Sandbox Code Playgroud)

在consumer.js中,我们导入了2次,但是第一次导入时计数器被评估一次

import counter1 from './increment';
import counter2 from './increment';

counter1; // => 1
counter2; // => 1
Run Code Online (Sandbox Code Playgroud)