Suppose I have a module foo
like this:
export const f = x => x + 1;
export const g = x => x * 2;
I can use this module like this:
import { f, g } from 'foo';
console.log(f(g(2)));
Or like this:
import * as foo from 'foo';
console.log(foo.f(foo.g(2)));
I prefer the second way because it prevents name collisions between modules.
However, is import *
less efficient? Does it prevent bundlers (such as Rollup and Webpack) from spotting unused imports and removing them?