export const x = 42; // export a named variable
export function foo() {}; // export a named function
export default 42; // export the default export
export default function foo() {}; // export the default export as a function
export default function () {} // export anonymous functionl; no semicolon!
export default class {} // export anonymous class; no semicolon!
export { encrypt }; // export an existing variable
export { decrypt as dec }; // export a variable as a new name
export { encrypt as en } from 'module'; // export an export from another module
export * from 'module'; // export all exports from another module
export { foo as myFoo, bar } from 'module';
export { default } from 'module';
export { default as foo } from 'module';
export { foo as default } from 'module';
export * as foo from "module"; // Proposed ES syntax
export foo from "module"; // Proposed ES syntax
import 'module'; // import a module without any import bindings
import module from 'module'; // import the default export of a module
import { foo } from 'module'; // import a named export of a module
import { module as Module } from 'module'; // import a named export to a different name
import * as module from 'module'; // import an entire module instance object
import('module.js') // dynamic import
.then((module) => { ... })
.catch((err) => { ... })