Brook Preloader

Moduli in Typescript, esportazione e importazione

Creazione di moduli

In TypeScript, i moduli possono essere creati utilizzando la sintassi export module ModuleName { ... } oppure utilizzando la sintassi export {...}. Questo consente di organizzare il codice in file separati e di rendere le funzioni, le classi e le interfacce disponibili ad altri file.

Esempio di modulo con sintassi di esportazione export module:

 

export module Utils {
  export function sum(num1: number, num2: number): number {
    return num1 + num2;
  }
}

Esempio di modulo con sintassi di esportazione export {...}:

 

export function hello(name: string) {
  console.log(`Ciao, ${name}!`);
}

export class Person {
  name: string;
  age: number;

  constructor(name: string, age: number) {
    this.name = name;
    this.age = age;
  }

  hello() {
    console.log(`Ciao, sono ${this.name} e ho ${this.age} anni.`);
  }
}

 

Esportazione e importazione di funzioni, classi e interfacce

In TypeScript, le funzioni, le classi e le interfacce possono essere esportate utilizzando la sintassi export. Questo consente di rendere le funzioni, le classi e le interfacce disponibili ad altri file. Le funzioni, le classi e le interfacce possono quindi essere importate in altri file utilizzando la sintassi import.

Esempio di esportazione di una funzione:

 

export function hello(name: string) {
  console.log(`Ciao, ${name}!`);
}

Esempio di importazione di una funzione:

 

import { hello } from './utils';

greet('Giovanni Pace'); // stampa "Ciao, Giovanni Pace!"

Esempio di esportazione di una classe:

 

export class Person {
  name: string;
  age: number;

  constructor(name: string, age: number) {
    this.name = name;
    this.age = age;
  }

  hello() {
    console.log(`Ciao, sono ${this.name} e ho ${this.age} anni.`);
  }
}

Esempio di importazione di una classe:

 

import { Person } from './person';

let person = new Person('Giovanni Pace', 36);
person.hello(); // stampa "Ciao, sono Giovanni Pacee ho 36 anni."

Esempio di esportazione di un’interfaccia:

 

export interface Person {
  name: string;
  age: number;
  hello(): void;
}

Esempio di importazione di un’interfaccia:

 

import { Person } from './person';

function helloPerson(person: Person) {
  person.hello();
}

let person = { name: 'Giovanni Pace', age: 36, hello: () => console.log(`Ciao, sono ${this.name} e ho ${this.age} anni.`) };
helloPerson(person); // stampa "Ciao, sono Giovanni Pace e ho 36 anni."