Menu
Coddy logo textTech

Exports par défaut vs nommés

Fait partie de la section Programmation Orientée Objet du Journey JavaScript de Coddy. Leçon 10 sur 56.

Dans les modules JavaScript, vous avez deux façons principales d’exporter votre code : les exportations named et les exportations default.

Les exports nommés vous permettent d’exporter plusieurs valeurs depuis un module :

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

Lors de l’importation d’exports nommés, vous devez utiliser exactement les mêmes noms entre accolades :

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

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

Si vous devez renommer un import nommé, utilisez le mot-clé as pour créer 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

Les exports par défaut vous permettent d’exporter une seule valeur principale depuis un module :

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

export default user;

Lors de l’importation d’une exportation par défaut, vous pouvez utiliser le nom de votre choix sans accolades :

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

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

Quand utiliser lequel ? Utilisez les exports nommés lorsqu’un module fournit plusieurs utilitaires associés (par exemple, une collection de fonctions utilitaires). Utilisez un export par défaut lorsqu’un module a un objectif principal ou une valeur principale (par exemple, une classe, un composant ou un objet de configuration).

Vous pouvez combiner les deux types d’exports dans un seul module :

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

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

export default car;

Et importez-les ensemble :

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

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

Défi

Facile

Vous avez deux fichiers. Votre tâche consiste à configurer les exports dans calculator.js et les imports dans main.js.

  1. Dans calculator.js : exporter calculate comme export par défaut et square comme export nommé
  2. Dans main.js : importer correctement les deux fonctions

Les tests vérifieront :

  • L’utilisation de l’export par défaut pour calculate
  • L’utilisation de l’export nommé pour square
  • Le bon fonctionnement des deux imports

Essayez vous-même

// TODO: Importer les deux fonctions ici depuis calculator.js


// Test
console.log(calculate(10, 5, '+')); // Devrait afficher 15
console.log(square(4));             // Devrait afficher 16
quiz iconTestez-vous

Cette leçon comprend un petit quiz. Commencez la leçon pour y répondre et suivre votre progression.

Toutes les leçons de Programmation Orientée Objet

Entraînez-vous par vous-même : Compilateur JavaScript en ligne