En aquest tema, aprendrem sobre els mòduls en JavaScript, una característica que permet organitzar el codi en unitats reutilitzables i mantenibles. Els mòduls ajuden a dividir el codi en diferents fitxers, facilitant la seva gestió i manteniment.
Què són els Mòduls?
Els mòduls són blocs de codi que encapsulen funcionalitats específiques i es poden importar i exportar entre diferents parts d'una aplicació. Això permet una millor organització del codi i facilita la reutilització de components.
Avantatges dels Mòduls
- Encapsulació: Manté el codi organitzat i evita conflictes de noms.
- Reutilització: Permet reutilitzar codi en diferents parts de l'aplicació.
- Mantenibilitat: Facilita la gestió i actualització del codi.
Exportació de Mòduls
Per exportar funcionalitats d'un mòdul, utilitzem la paraula clau export. Hi ha dues maneres principals d'exportar: exportació anomenada i exportació per defecte.
Exportació Anomenada
Permet exportar múltiples elements des d'un mateix mòdul.
// math.js
export const pi = 3.14159;
export function sum(a, b) {
return a + b;
}
export class Circle {
constructor(radius) {
this.radius = radius;
}
area() {
return pi * this.radius * this.radius;
}
}Exportació per Defecte
Permet exportar un únic valor o funció com a exportació principal del mòdul.
Importació de Mòduls
Per importar funcionalitats d'un mòdul, utilitzem la paraula clau import.
Importació Anomenada
Importa elements específics d'un mòdul.
// main.js
import { pi, sum, Circle } from './math.js';
console.log(pi); // 3.14159
console.log(sum(2, 3)); // 5
const circle = new Circle(5);
console.log(circle.area()); // 78.53975Importació per Defecte
Importa l'exportació per defecte d'un mòdul.
Importació Combinada
Es poden combinar importacions anomenades i per defecte.
// main.js
import greet, { pi, sum, Circle } from './math.js';
console.log(greet('World')); // Hello, World!
console.log(pi); // 3.14159
console.log(sum(2, 3)); // 5
const circle = new Circle(5);
console.log(circle.area()); // 78.53975Exercicis Pràctics
Exercici 1: Exportació i Importació Anomenada
-
Crea un fitxer
utils.jsamb les següents exportacions anomenades:- Una constant
MAX_VALUEamb el valor100. - Una funció
isEvenque comprova si un nombre és parell. - Una classe
Rectangleamb un constructor que accepta l'amplada i l'alçada, i un mètodeareaque retorna l'àrea del rectangle.
- Una constant
-
Importa aquestes exportacions en un fitxer
main.jsi utilitza-les.
// utils.js
export const MAX_VALUE = 100;
export function isEven(num) {
return num % 2 === 0;
}
export class Rectangle {
constructor(width, height) {
this.width = width;
this.height = height;
}
area() {
return this.width * this.height;
}
}
// main.js
import { MAX_VALUE, isEven, Rectangle } from './utils.js';
console.log(MAX_VALUE); // 100
console.log(isEven(4)); // true
console.log(isEven(5)); // false
const rect = new Rectangle(10, 5);
console.log(rect.area()); // 50Exercici 2: Exportació i Importació per Defecte
-
Crea un fitxer
message.jsamb una exportació per defecte d'una funcióshowMessageque accepta un missatge i el mostra per consola. -
Importa aquesta funció en un fitxer
main.jsi utilitza-la.
// message.js
export default function showMessage(message) {
console.log(message);
}
// main.js
import showMessage from './message.js';
showMessage('Hello, JavaScript Modules!'); // Hello, JavaScript Modules!Resum
En aquesta secció, hem après sobre els mòduls en JavaScript i com utilitzar les exportacions i importacions per organitzar el codi de manera eficient. Els mòduls permeten encapsular funcionalitats, reutilitzar codi i mantenir-lo de manera més fàcil. Hem vist exemples pràctics d'exportació anomenada i per defecte, així com la seva importació corresponent. Amb aquests coneixements, estem preparats per estructurar millor les nostres aplicacions JavaScript.
JavaScript: De Principiant a Avançat
Mòdul 1: Introducció a JavaScript
- Què és JavaScript?
- Configuració del Teu Entorn de Desenvolupament
- El Teu Primer Programa en JavaScript
- Sintaxi i Conceptes Bàsics de JavaScript
- Variables i Tipus de Dades
- Operadors Bàsics
Mòdul 2: Estructures de Control
- Declaracions Condicionals
- Bucles: for, while, do-while
- Declaracions Switch
- Gestió d'Errors amb try-catch
Mòdul 3: Funcions
- Definició i Crida de Funcions
- Expressions de Funció i Funcions Fletxa
- Paràmetres i Valors de Retorn
- Àmbit i Tancaments
- Funcions d'Ordre Superior
Mòdul 4: Objectes i Arrays
- Introducció als Objectes
- Mètodes d'Objecte i Paraula Clau 'this'
- Arrays: Conceptes Bàsics i Mètodes
- Iteració sobre Arrays
- Desestructuració d'Arrays
Mòdul 5: Objectes i Funcions Avançades
- Prototips i Herència
- Classes i Programació Orientada a Objectes
- Mòduls i Importació/Exportació
- JavaScript Asíncron: Callbacks
- Promeses i Async/Await
Mòdul 6: El Model d'Objectes del Document (DOM)
- Introducció al DOM
- Selecció i Manipulació d'Elements del DOM
- Gestió d'Esdeveniments
- Creació i Eliminació d'Elements del DOM
- Gestió i Validació de Formularis
Mòdul 7: APIs del Navegador i Temes Avançats
- Emmagatzematge Local i de Sessió
- Fetch API i AJAX
- WebSockets
- Service Workers i Aplicacions Web Progressives (PWAs)
- Introducció a WebAssembly
Mòdul 8: Proves i Depuració
- Depuració de JavaScript
- Proves Unitàries amb Jest
- Proves d'Integració
- Proves de Cap a Cap amb Cypress
Mòdul 9: Rendiment i Optimització
- Optimització del Rendiment de JavaScript
- Gestió de Memòria
- Manipulació Eficient del DOM
- Càrrega Per Mandat i Divisió de Codi
Mòdul 10: Frameworks i Llibreries de JavaScript
- Introducció a React
- Gestió d'Estat amb Redux
- Conceptes Bàsics de Vue.js
- Conceptes Bàsics d'Angular
- Triar el Framework Adequat
