Utilizarea pseudonimelor la export și import
Cu ajutorul operatorului as, componentelor exportate/importate ale unui modul li se poate atribui un pseudonim. Apoi, pentru utilizarea acestor componente se folosește nu numele lor direct, ci pseudonimul lor.
Pseudonime la export
Definim următorul modul message.js:
let welcome = "Welcome";
const hello = "Hello";
function sayHello() {
console.log("Hello FDC.COM");
}
class Messenger {
send(text){
console.log("Sending message:", text);
}
}
export {welcome as simpleMessage, hello, sayHello as printMessage, Messenger}
Aici toate componentele modulului sunt exportate sub forma unei liste, în care pentru componente se poate defini un pseudonim în forma:
componentă as pseudonim
Astfel, pentru constanta welcome este definit pseudonimul simpleMessage, iar pentru funcția sayHello este definit pseudonimul printMessage.
În acest caz, la importul modulului message.js, aceste componente vor fi accesibile prin pseudonimele lor:
import {simpleMessage, printMessage, Messenger} from "./message.js";
printMessage();
const telegram = new Messenger();
telegram.send(simpleMessage);
Pseudonime la import
Într-un mod similar, se pot specifica pseudonime și la import. Acest lucru poate fi relevant dacă numele componentei importate este destul de lung și dorim să stabilim pentru ea un pseudonim mai scurt. O a doua cauză este că în modul există deja componente cu același nume, și pentru a evita ambiguitatea, pentru componente identice din modulul conectat se stabilesc pseudonime. A treia cauză este că dorim să dăm componentelor nume mai descriptive și expresive.
Să luăm în considerare un exemplu mic:
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);
Aici, constantei importate simpleMessage i se atribuie pseudonimul messageText: simpleMessage as messageText.
În plus, aici este definită funcția printMessage(). Totuși, din modul este importată și o componentă cu același nume. Și pentru a evita ambiguitatea, componentei importate i se atribuie pseudonimul printHello: printMessage as printHello.
Ulterior, pentru accesul la componentele importate cu pseudonime se folosesc pseudonimele lor.