
Taula de ContingutsMostrar / Amagar
Què és JavaScript?
JavaScript (abreujat habitualment com a JS) és un llenguatge de programació d’alt nivell, interpretat i compilat Just-In-Time (JIT), dinàmic, basat en prototips i multitasca amb un únic fil d’execució (single-threaded). Juntament amb HTML i CSS, JavaScript constitueix un dels tres pilars fonamentals de la World Wide Web.
Inicialment concebut per a executar codi al navegador web de l’usuari (client-side), actualment s’executa també en servidors (mitjançant entorns d’execució com Node.js, Deno o Bun), dispositius IoT, aplicacions d’escriptori (Electron, Tauri) i aplicacions mòbils.
Quan es va crear i per qui?
- Any de creació: Maig de 1995.
- Creador: Brendan Eich, mentre treballava per a l’empresa Netscape Communications Corporation.
- Context històric: Netscape volia un llenguatge lleuger i fàcil d’aprendre per a afegir dinamisme a Netscape Navigator 2.0. Eich va desenvolupar el primer prototip en tan sols 10 dies, inicialment anomenat internament Mocha, posteriorment rebatejat com a LiveScript, i finalment nomenat JavaScript per motius purament comercials i estratègics gràcies a l’aliança de Netscape amb Sun Microsystems (creadors de Java).
- Estandardització: El 1997, Netscape va presentar el llenguatge a ECMA International per a definir una especificació neutral i oberta, naixent així l’estàndard oficial ECMAScript (ECMA-262).
Per a què s’utilitza?
JavaScript és el motor reactiu de la web moderna. Els seus àmbits d’aplicació principals inclouen:
- Interactivitat al navegador: Manipulació del DOM (Document Object Model), gestió d’esdeveniments d’usuari (clics, scroll, tecles), validació de formularis en temps real i animacions.
- Peticions asíncrones i APIs: Comunicació en segon pla mitjançant
fetch()o WebSockets sense necessitat de recarregar la pàgina web (AJAX/SPA). - Desenvolupament frontend modern: Base subjacent de llibreries i frameworks com Angular, React, Vue, Svelte o Astro.
- Desenvolupament backend: Construcció de servidors web, microserveis i APIs REST o GraphQL a través de Node.js.
- Eines de compilació i automatització: Execució d’empaquetadors com Vite, Webpack, Rollup o esbuild.
Arquitectura Tècnica: Com funciona sota el capó?
A diferència dels llenguatges compilats clàssics (C, C++, Rust), JavaScript utilitza un model híbrid de compilació en temps d’execució:
1. El Motor V8 (Google Chrome & Node.js)
El codi font passa per tres etapes:
- Parser: Converteix el text en un Arbre de Sintaxi Abstracta (AST).
- Intèrpret Ignition: Genera bytecode a partir de l’AST per a començar l’execució immediata sense latència inicial.
- Compilador optimitzador TurboFan: Detecta funcions que s’executen freqüentment (hot functions) i les compila directament a codi màquina altament optimitzat.
2. L’Event Loop i el Model Asíncron
Com que JavaScript té un sol fil d’execució principal, utilitza un bucle d’esdeveniments (Event Loop) i una cua de tasques (Task Queue i Microtask Queue) per a delegar operacions I/O (xarxa, fitxers, temporitzadors) al sistema operatiu o a fils de fons (com libuv), garantint que la interfície mai es bloquegi.
// Exemple de flux asíncron modern amb async/await
async function carregarDadesEnginyeria(endpoint) {
try {
const resposta = await fetch(endpoint, {
headers: { 'Accept': 'application/json' }
});
if (!resposta.ok) throw new Error(`HTTP Error: ${resposta.status}`);
const dades = await resposta.json();
return dades;
} catch (error) {
console.error('Error al carregar dades:', error);
throw error;
}
}
Evolució i Versions Clau
- ES5 (2009): Va introduir el mode estricte (
'use strict'), mètodes d’array commap(),filter(),reduce(), i suport natiu per a JSON. - ES6 / ES2015: La revolució més gran del llenguatge: classes, mòduls
import/export, funcions fletxa() => {}, promeses, desestructuració, templates literals i variables d’àmbit de bloc (let,const). - ES2017 - ES2024:
async/await, operadors?.(optional chaining) i??(nullish coalescing), mètodes immutables d’array (toSorted(),toReversed()), i suport avançat per a multithreading lleuger ambWeb Workers.
Per què és imprescindible en el nostre stack?
Al nostre flux de treball, JavaScript és el fonament sobre el qual construïm aplicacions TypeScript rigoroses i interfícies ultra-ràpides. Comprendre a fons el seu model de memòria, la gestió de l’Event Loop i les peculiaritats de coerció de tipus és el que permet crear webs que assoleixen el 100/100 en Core Web Vitals sense bloquejar el fil d’execució principal.

Checklist de Rendiment (60 FPS) i Accessibilitat (WCAG AA)
Els 25 punts d'auditoria que aplique en producció abans de desplegar qualsevol aplicació web o SPA en Angular/TypeScript.
Tens un repte similar a la teua empresa o projecte?
Puc ajudar el teu equip a auditar rendiment web, modernitzar arquitectures frontend o implementar CI/CD robust.
Sol·licitar Auditoria o ConsultoriaArticles Relacionats
TypeScript Estricte en Projectes Frontend: Patrons Avançats que Salven Vides
Més enllà del tipatge bàsic: unions discriminades, branded types, narrowing exhaustiu, l'operador satisfies i per què `any` hauria d'estar prohibit en producció.
Web StandardsHTML5 Semàntic: Estructura, Accessibilitat WCAG i Optimització per a Motors de Cerca
Guia tècnica i estàndard d'HTML5: història del consorci W3C i WHATWG, per a què serveix la semàntica, tags estructurals fonamentals i el seu impacte directe en SEO i lectors de pantalla.