Utilizando Aliases na Exportação e Importação de Módulos em JavaScript
Com o operador as, é possível atribuir aliases aos componentes exportados/importados de um módulo. Isso permite usar os componentes por meio de seus aliases, em vez de seus nomes diretos.
Aliases na Exportação
Vamos definir o seguinte módulo message.js:
let welcome = "Welcome";
const hello = "Hello";
function sayHello() {
console.log("Hello Programício");
}
class Messenger {
send(text) {
console.log("Sending message:", text);
}
}
export { welcome as simpleMessage, hello, sayHello as printMessage, Messenger };Aqui, todos os componentes do módulo são exportados como uma lista, onde é possível atribuir aliases aos componentes: componente as alias.
Assim, a constante welcome recebe o alias simpleMessage, e a função sayHello recebe o alias printMessage.
Ao importar o módulo message.js, esses componentes estarão disponíveis por meio de seus aliases:
import { simpleMessage, printMessage, Messenger } from "./message.js";
printMessage();
const telegram = new Messenger();
telegram.send(simpleMessage);Aliases na Importação
De maneira semelhante, é possível atribuir aliases na importação. Isso pode ser útil se o nome do componente importado for muito longo e quisermos um alias mais curto. Outra razão é a existência de componentes com o mesmo nome no módulo, evitando ambiguidade ao definir aliases para esses componentes. Por fim, podemos querer dar nomes mais descritivos aos componentes.
Vamos considerar um exemplo:
import { simpleMessage as messageText, printMessage as printHello, Messenger } from "./message.js";
const printMessage = () => console.log("Hello from main module");
printHello();
printMessage();
const telegram = new Messenger();
telegram.send(messageText);Neste exemplo, a constante importada simpleMessage recebe o alias messageText.
Além disso, definimos a função printMessage(). Contudo, do módulo também é importado um componente com o mesmo nome. Para evitar ambiguidade, o componente importado recebe o alias printHello:
printMessage as printHello;Em seguida, utilizamos os componentes importados por meio de seus aliases.