Oi Felipe, tudo certo?
Basicamente a diferença se dará nos imports.
Há o export default e o named.
export default class ClassName {
// Implementation
}
ou
class ClassName {
// Implementation
}
export default ClassName
Os modos acima são default. Você poderá importar a classe com o nome que você quiser.
import MinhaClasse from './pathRelativo/PastaDaMinhaClasse/NomeDoArquivo.js'
const novaInstancia = new MinhaClasse()
Temos as opções de exportar nomeado...
export class ClassName {
// Implementation
}
ou
class ClassName {
// Implementation
}
export { ClassName }
Nos casos acima você é obrigado a usar o mesmo nome da classe exportada. Você consegue manter um padrão se fizer nesse modo pois não corre o risco de exportar um nome e importar com outro causando algumas dúvidas quando for dar manutenção no código.
import { ClassName } from './path'
const novaInstancia = new ClassName()
Esses exemplos são formas de export e import implementadas pelo ES6.
O exemplo abaixo é CommonJS. Se encaixa como export defult.
class ClassName {
// Implementation
}
module.exports(ClassName)