Maison > interface Web > js tutoriel > Modules et classes JavaScript

Modules et classes JavaScript

DDD
Libérer: 2024-12-25 17:11:19
original
663 Les gens l'ont consulté

JavaScript Modules and Classes

Jour 9 : Modules et classes JavaScript

Date : 16 décembre 2024

Bienvenue au jour 9 ! Aujourd'hui, nous explorons les Modules et les Classes en JavaScript, deux concepts qui améliorent considérablement l'organisation, la réutilisabilité et la lisibilité du code. Comprendre ces sujets améliorera vos compétences JavaScript, vous permettant de structurer vos projets comme un développeur professionnel.


1. Modules JavaScript

Les modules vous permettent de diviser votre code en morceaux plus petits et réutilisables. Au lieu d'avoir un seul fichier volumineux, vous pouvez organiser les fonctionnalités en plusieurs fichiers, ce qui facilite la gestion et la maintenance de votre base de code.

Pourquoi utiliser des modules ?

  1. Séparation des préoccupations : Chaque module gère une responsabilité spécifique.
  2. Réutilisabilité : Le code d'un module peut être réutilisé dans un autre.
  3. Maintenabilité : Plus facile à déboguer et à mettre à jour.

Exportation et importation dans des modules

Exporter depuis un module

Vous pouvez exporter des variables, des fonctions ou des classes à partir d'un module en utilisant l'exportation.

Exportation nommée

// utils.js
export const add = (a, b) => a + b;
export const subtract = (a, b) => a - b;
Copier après la connexion
Copier après la connexion

Exportation par défaut

// greet.js
export default function greet(name) {
  return `Hello, ${name}!`;
}
Copier après la connexion
Copier après la connexion

Importer un module

Utilisez le mot-clé import pour importer des fonctionnalités d'un autre module.

Exemple : Importer des exportations nommées

// main.js
import { add, subtract } from './utils.js';

console.log(add(5, 3)); // Output: 8
console.log(subtract(5, 3)); // Output: 2
Copier après la connexion
Copier après la connexion

Exemple : Importer une exportation par défaut

// main.js
import greet from './greet.js';

console.log(greet("Alice")); // Output: Hello, Alice!
Copier après la connexion
Copier après la connexion

Importation dynamique

Les importations dynamiques chargent les modules au moment de l'exécution à l'aide de import().

Exemple : Chargement paresseux

const loadModule = async () => {
  const module = await import('./utils.js');
  console.log(module.add(5, 3)); // Output: 8
};

loadModule();
Copier après la connexion
Copier après la connexion

2. Cours JavaScript

Les classes en JavaScript fournissent un modèle pour créer des objets et encapsuler les données et méthodes associées. Ils font partie d'ES6 et sont fondamentaux pour la programmation orientée objet en JavaScript.

Définir une classe

Une classe est définie à l'aide du mot-clé class.

Exemple : Cours de base

class Person {
  constructor(name, age) {
    this.name = name;
    this.age = age;
  }

  greet() {
    return `Hello, my name is ${this.name} and I am ${this.age} years old.`;
  }
}

const person1 = new Person("John", 30);
console.log(person1.greet()); // Output: Hello, my name is John and I am 30 years old.
Copier après la connexion

Héritage de classe

L'héritage permet à une classe de dériver des propriétés et des méthodes d'une autre classe à l'aide du mot-clé extends.

Exemple : Héritage

class Animal {
  constructor(name) {
    this.name = name;
  }

  speak() {
    console.log(`${this.name} makes a sound.`);
  }
}

class Dog extends Animal {
  speak() {
    console.log(`${this.name} barks.`);
  }
}

const dog = new Dog("Buddy");
dog.speak(); // Output: Buddy barks.
Copier après la connexion

Méthodes statiques

Les méthodes statiques appartiennent à la classe elle-même, pas à l'instance.

Exemple : Méthode statique

// utils.js
export const add = (a, b) => a + b;
export const subtract = (a, b) => a - b;
Copier après la connexion
Copier après la connexion

Champs et méthodes privés

Les champs et méthodes privés ne sont accessibles qu'au sein de la classe et sont désignés par un préfixe #.

Exemple : Champ privé

// greet.js
export default function greet(name) {
  return `Hello, ${name}!`;
}
Copier après la connexion
Copier après la connexion

Classe et littéraux d'objet

Alors que les littéraux d'objet sont rapides et simples pour les structures de données simples, les classes offrent :

  • Un plan clair pour créer plusieurs objets similaires.
  • Prise en charge de l'héritage et de l'encapsulation.

3. Combiner des modules et des cours

Les modules et les classes se complètent à merveille dans les applications JavaScript modernes. Vous pouvez définir une classe dans un module et l'utiliser dans un autre.

Exemple : Combiner des modules et des classes

// main.js
import { add, subtract } from './utils.js';

console.log(add(5, 3)); // Output: 8
console.log(subtract(5, 3)); // Output: 2
Copier après la connexion
Copier après la connexion

4. Exemple concret : panier

Voici un exemple pratique combinant à la fois des modules et des cours.

Fichier : cart.js

// main.js
import greet from './greet.js';

console.log(greet("Alice")); // Output: Hello, Alice!
Copier après la connexion
Copier après la connexion

Fichier : main.js

const loadModule = async () => {
  const module = await import('./utils.js');
  console.log(module.add(5, 3)); // Output: 8
};

loadModule();
Copier après la connexion
Copier après la connexion

Points clés à retenir

  1. Modules : Aidez à organiser votre code et favorisez la réutilisabilité.
  2. Classes : fournissent une manière structurée de travailler avec des objets, offrant des fonctionnalités telles que l'héritage et l'encapsulation.
  3. Utilisation combinée : utilisez des modules et des classes ensemble pour créer des applications évolutives et maintenables.

Tâches pratiques

  1. Créez un module qui exporte des fonctions pour les opérations arithmétiques de base.
  2. Écrivez une classe pour un système de bibliothèque avec des méthodes pour ajouter et lister des livres.
  3. Combinez des modules et des classes pour simuler un panier d'achat de commerce électronique de base.

Quelle est la prochaine étape ?

Demain, le Jour 10, nous aborderons la Boucle d'événements et la programmation asynchrone, où vous apprendrez comment JavaScript gère la concurrence, les rappels, les promesses et la boucle d'événements. . Restez à l'écoute !

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:dev.to
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal