JavaScriptMódulos e Errosbasico

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

Mais exercícios de Módulos e Erros

JSM003 · BásicoTipos de erroJSM005 · BásicoError propertiesJSM006 · BásicoExport nomeadoJSM011 · IntermediárioClasse de erro customizada
Ver todos os exercícios de JavaScript