Import * as
Quando você precisa usar várias funções ou constantes de um mesmo módulo, importar cada uma individualmente pode poluir seu código. O import * as namespace agrupa todos os exports nomeados em um único objeto, facilitando o acesso e a organização. Essa técnica é usada, por exemplo, em bibliotecas como Lodash, onde todo o conteúdo é importado como _.
O PROBLEMA
Importe todos os exports usando import * as namespace.
EXEMPLO
// utils.js
export const versao = "1.0";
export function log(msg) { console.log(msg); }
// index.js
import * as Utils from "./utils.js";
Utils.log(Utils.versao) → "1.0"SOBRE O CONCEITO
O import * as importa todos os exports nomeados de um módulo para um objeto namespace. Por exemplo, se utils.js tem export const versao e export function log, você pode fazer import * as Utils from './utils.js' e acessar Utils.versao e Utils.log. O erro comum é tentar usar * as com export default, que não funciona porque export default exporta um único valor, não nomeado. O * captura apenas exports nomeados; o default exige uma sintaxe separada. No exercício, export default é proibido justamente para evitar essa confusão e reforçar o uso correto com exports nomeados.
RESOLUÇÃO