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)); // 6Se 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)); // 6Esportazioni 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); // 4Sfida
FacileHai due file. Il tuo compito è configurare le esportazioni in calculator.js e le importazioni in main.js.
- In
calculator.js: esportacalculatecome predefinita esquarecome nominata - In
main.js: importa entrambe le funzioni correttamente
I test verificheranno:
- che per
calculatevenga usata l'esportazione predefinita - che per
squarevenga 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 16Questa lezione include un breve quiz. Inizia la lezione per rispondere e tenere traccia dei tuoi progressi.
Tutte le lezioni di Programmazione orientata agli oggetti
1Oggetti e la keyword this
Ripasso rapido: oggettiAggiungere metodi agli oggettiCapire la keyword thisFunzioni costruttriciLa keyword newSfida di ripasso7Ereditarietà e parola chiave extends
EreditarietàLa relazione «è un»La parola chiave extendsIl metodo super()Ereditare proprietà e metodiSfida di ripasso13Composizione vs. ereditarietà
«Ha-un» vs. «è-un»I limiti dell’ereditarietà profondaCostruire oggetti2Organizzare il codice
Cosa sono i moduli?Esportare con exportImportare con importExport predefiniti vs. export nominati5Incapsulamento e accesso
IncapsulamentoCampi di classe pubblici e privatiMetodi privatiSfida di riepilogo8Organizzare il codice OOP
Organizzare le classi in moduli11Progetto: Un renderizzatore di forme
Configurazione: classe Shape ed esportazioneEreditarietà della classe CircleOverride e metodo areaContatore statico di Shape14Sistema di gestione della biblioteca
Progettare la bibliotecaClasse Book con composizioneValidazione dell'autore del libroEsercitati da solo: Compilatore JavaScript online