Menu
Coddy logo textTech

Export predefiniti vs. export nominati

Fa parte della sezione Programmazione orientata agli oggetti del percorso JavaScript di Coddy. Lezione 10 di 56.

Nei moduli JavaScript, hai due modi principali per esportare il tuo codice: esportazioni con nome ed esportazioni predefinite.

Esportazioni con nome ti permettono di esportare più valori da un modulo:

// math.js
export function add(a, b) {
    return a + b;
}
export function subtract(a, b) {
    return a - b;
}

Quando importi esportazioni con nome, devi usare esattamente gli stessi nomi tra parentesi graffe:

// app.js
import { add, subtract } from './math.js';

console.log(add(5, 3));      // 8
console.log(subtract(10, 4)); // 6

Se devi rinominare un'importazione con nome, usa la parola chiave as per creare un alias:

// app.js
import { add as sum, subtract as minus } from './math.js';

console.log(sum(5, 3));   // 8
console.log(minus(10, 4)); // 6

Esportazioni predefinite ti permettono di esportare un singolo valore principale da un modulo:

// user.js
const user = {
  name: 'John',
  age: 30
};

export default user;

Quando importi un'esportazione predefinita, puoi usare il nome che preferisci senza parentesi graffe:

// app.js
import person from './user.js';

console.log(person.name); // 'John'

Quando usare l'uno o l'altro? Usa le esportazioni con nome quando un modulo fornisce più utilità correlate (ad esempio, una raccolta di funzioni di supporto). Usa un'esportazione predefinita quando un modulo ha uno scopo principale o un valore principale (ad esempio, una classe, un componente o un oggetto di configurazione).

Puoi combinare entrambi i tipi di esportazioni in un singolo modulo:

// vehicle.js
export const wheels = 4;
export const doors = 4;

const car = {
  brand: 'Toyota',
  model: 'Corolla'
};

export default car;

E importali insieme:

// app.js
import myCar, { wheels, doors } from './vehicle.js';

console.log(myCar.brand);  // 'Toyota'
console.log(wheels);       // 4
challenge icon

Sfida

Facile

Hai due file. Il tuo compito è configurare le esportazioni in calculator.js e le importazioni in main.js.

  1. In calculator.js: esporta calculate come predefinita e square come nominata
  2. In main.js: importa entrambe le funzioni correttamente

I test verificheranno:

  • che per calculate venga usata l'esportazione predefinita
  • che per square venga usata l'esportazione nominata
  • che entrambe le importazioni funzionino correttamente

Provalo tu

// TODO: Importa qui entrambe le funzioni da calculator.js


// Test
console.log(calculate(10, 5, '+')); // Dovrebbe produrre 15
console.log(square(4));             // Dovrebbe produrre 16
quiz iconMettiti alla prova

Questa lezione include un breve quiz. Inizia la lezione per rispondere e tenere traccia dei tuoi progressi.

Tutte le lezioni di Programmazione orientata agli oggetti

Esercitati da solo: Compilatore JavaScript online