In ES6, an import is bound to a variable (as opposed to a value). This means that if the exporting module changes the variable it exported, that updated value will be reflected across all modules that imported it.
For example, suppose we have a module which exports a primitive value and then changes it after some unspecified period of time.
myVar.js
export var myVar = "1";
setTimeout(() => {myVar = "2"}, 2000);
Suppose you imported it like so:
main1.js
import { myVar } from './myVar.js';
console.log(myVar);
setTimeout(() => { console.log(myVar); }, 3000);
The output would be:
1
2
However, if you assigned the original value to a variable immediately upon importing it, then the value would be unchanged.
main2.js
import * as MyVar from './myVar.js';
const myVar = MyVar.myVar;
console.log(myVar);
setTimeout(() => { console.log(myVar); }, 3000);
The output of this program would be:
1
1
This difference may be something you want to keep in mind.