从 ES6 模块导入/导出数据时,数据的可变性在命名导入和导出之间似乎不同。是否有原因或我不理解的一些根本区别?
// counter.js
export let count = 0;
export const incrementCount = () => count += 1;
export default count;
Run Code Online (Sandbox Code Playgroud)
// main-default.js
import count, { incrementCount } from './counter';
console.log(count); // 0
incrementCount();
incrementCount();
console.log(count); // 0
Run Code Online (Sandbox Code Playgroud)
// main-named.js
import { count, incrementCount } from './counter';
console.log(count); // 0
incrementCount();
incrementCount();
console.log(count); // 2
Run Code Online (Sandbox Code Playgroud)
在这两种情况下,我都希望count增加。但是,这仅在使用命名导出时发生。