Named export vs exporting an object

The main reason of the export statement is to be used to export functions, objects or primitives from a given file (or module).

But you need an identifier in order to be exported (so that it can be imported via import in another script).

You can simply do:

export const obj = {
  str: 'stuff'
};

During the import, you will be able to use the same name obj to refer to the corresponding value.

And import it like:

import { obj } from 'myLib';

There are two styles of exports in ES6 -- named exports, and the default export. Named exports get exported with syntax like this:

export const str = 'stuff';
// or
const str = 'stuff';
export { str };

Default exports go like this:

const obj = { str: 'stuff' };
export default obj;
// or 
export default {
  str: 'stuff'
};

The difference shows up when you import. With the first, you need to include braces:

import { str } from 'myModule'; // 'stuff', from the first example

Without braces, it imports the default export:

import myModule from 'myModule'; //  {str: 'stuff'}, from the second example