1
resposta

[Dúvida] Qual a diferença da utilização das chaves?

Qual a diferença entre os códigos abaixo? Quais os impactos de ter chaves ou não? Obrigado!

import { depositar } from "./saldo.js";
depositar(1000);

import depositar from "./saldo.js";
depositar(1000);
1 resposta

Olá, Thiago, como vai?

Quando você usa import { depositar } from "./saldo.js";, significa que depositar foi exportado como um export nomeado. Isso permite que o arquivo exporte múltiplas funções ou variáveis, e você deve importar exatamente com o mesmo nome definido na exportação. Exemplo:

// saldo.js
export function depositar(valor) { ... }

// outro arquivo
import { depositar } from "./saldo.js";
depositar(1000);

import depositar from "./saldo.js"; indica que depositar foi exportado como um export default, ou seja, é a principal exportação do módulo e pode ser importada com qualquer nome. Exemplo:

// saldo.js
export default function depositar(valor) { ... }

// outro arquivo
import depositar from "./saldo.js";
depositar(1000);

O impacto disso é que com exports nomeados, você pode exportar várias funções do mesmo arquivo, enquanto com export default, o módulo tem uma única exportação principal. Se saldo.js tiver sido exportado com export default, o primeiro código geraria um erro, pois tentaria importar algo que não foi exportado dessa forma.

Espero ter ajudado!

Siga firme nos seus estudos e conte com o fórum sempre que precisar.

Abraços :)

Caso este post tenha lhe ajudado, por favor, marcar como solucionado