gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-03 17:27:12 25 4
gpt4 key购买 nike

我想知道这是否

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

export default getData();

是否有任何性能差异:
const getData = () => {
const data = 1;
return data;
};

const toexport = getData(); // cache to a variable before exporting
export default toexport;

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

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

function getData() {
console.log('getData');
return 1;
}

// will `export default getData();` be like this
const importSomeWhere = getData();
const importSomeWhereElse = getData();



// or this?
const exportCached = getData();

const importSomeWhere2 = exportCached;
const importSomeWhereElse2 = exportCached;

最佳答案

它只会被评估一次。这是来自 What Happens When a Module Is Imported Twice? 的示例
在 increment.js 中,我们声明了一个名为 counter 的变量

let counter = 0;
counter++;

export default counter;
在 consumer.js 中,我们导入了 2 次,但第一次导入时会计算一次计数器
import counter1 from './increment';
import counter2 from './increment';

counter1; // => 1
counter2; // => 1

关于javascript - 会在 javascript 中多次调用 export function() 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59597912/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com