In the `import` syntax of ES6, how is a module evaluated exactly?

Let's say we have four modules, A, B,C and D In module A: console.log("A evaluated") function AClass { console.log("A constructor") } var aObj = new AClass() export default aObj; In module B: