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)); // 6Si 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)); // 6Les 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); // 4Défi
FacileVous avez deux fichiers. Votre tâche consiste à configurer les exports dans calculator.js et les imports dans main.js.
- Dans
calculator.js: exportercalculatecomme export par défaut etsquarecomme export nommé - 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 16Cette 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
1Objets et le mot-clé this
Révision rapide : Les objetsAjouter des méthodes aux objetsComprendre le mot-clé thisFonctions constructeursLe mot-clé newDéfi récapitulatif7L'héritage et le mot-clé extends
L'héritageLa relation « est un »Le mot-clé extendsLa méthode super()Hériter des propriétés et méthodesDéfi récapitulatif10Polymorphisme
Qu'est-ce que le polymorphisme ?Redéfinition de méthodes héritéesUtiliser superDéfi récapitulatif13Composition vs Héritage
Les relations « has-a » vs « is-a »Les limites de l'héritage profondConstruction d'objets2Organisation du code
Qu'est-ce qu'un module ?Exporter avec exportImporter avec importExports par défaut vs nommés5Encapsulation & Accès
EncapsulationChamps de classe publics et privésMéthodes privéesDéfi récapitulatif8Organisation du code POO
Organiser les classes en modules11Projet : Un moteur de rendu de formes
Configuration : Classe Shape et ExportationHéritage de la classe CircleRedéfinition et méthode AreaCompteur de formes statique14Système de gestion de bibliothèque
Conception de la bibliothèqueClasse Book avec compositionValidation de l'auteur du livre3Classes et Objets
Qu'est-ce qu'une classe ?Créer des instancesPropriétés et méthodesDéfi récapitulatif9Méthodes et propriétés statiques
Niveau classe vs Niveau instancePropriétés statiquesMéthodes utilitaires statiquesDéfi récapitulatifEntraînez-vous par vous-même : Compilateur JavaScript en ligne