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.
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.
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;
Exportation par défaut
// greet.js export default function greet(name) { return `Hello, ${name}!`; }
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
Exemple : Importer une exportation par défaut
// main.js import greet from './greet.js'; console.log(greet("Alice")); // Output: Hello, Alice!
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();
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.
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.
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.
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;
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}!`; }
Alors que les littéraux d'objet sont rapides et simples pour les structures de données simples, les classes offrent :
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
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!
Fichier : main.js
const loadModule = async () => { const module = await import('./utils.js'); console.log(module.add(5, 3)); // Output: 8 }; loadModule();
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!