--- title: JavaScript slug: Web/JavaScript tags: - Apprendre - JavaScript - Landing page - 'l10n:priority' translation_of: Web/JavaScript ---
{{JsSidebar}}

JavaScript (qui est souvent abrégé en « JS ») est un langage de script léger, orienté objet, principalement connu comme le langage de script des pages web. Mais il est aussi utilisé dans de nombreux environnements extérieurs aux navigateurs web tels que Node.js, Apache CouchDB voire Adobe Acrobat. Le code JavaScript est interprété ou compilé à la volée (JIT). C'est un langage à objets utilisant le concept de prototype, disposant d'un typage faible et dynamique qui permet de programmer suivant plusieurs paradigmes de programmation : fonctionnelle, impérative et orientée objet. Apprenez-en plus sur JavaScript.

Cette section est dédiée au langage JavaScript. Pour des informations sur l'utilisation de JavaScript avec les {{Glossary("API")}} spécifiques des navigateurs web pour les pages web, veuillez consulter les sections sur les API Web (Web API en anglais) et le DOM.

Le standard pour JavaScript est ECMAScript. En 2012, tous les navigateurs modernes supportent complètement ECMAScript 5.1. Les anciens navigateurs supportent au minimum ECMAScript 3. Une sixième version majeure du standard a été finalisée et publiée le 17 juin 2015. Cette version s'intitule officiellement ECMAScript 2015 mais est encore fréquemment appelée ECMAScript 6 ou ES6. Étant donné que les standards ECMAScript sont édités sur un rythme annuel, cette documentation fait référence à la dernière version en cours de rédaction, actuellement c'est ECMAScript 2020.

JavaScript ne doit pas être confondu avec le langage de programmation Java. Java et JavaScript sont deux marques déposées par Oracle dans de nombreux pays mais ces deux langages de programmation ont chacun une syntaxe, une sémantique et des usages différents.

Tutoriels

Apprenez comment programmer en JavaScript.

Ressources pour commencer

Si vous souhaitez apprendre JavaScript et que vous débutez en programmation ou en JavaScript, la section JavaScript de la zone d'apprentissage de MDN (learning area) est le meilleur endroit où commencer. Cette section contient les modules suivants :

Les premiers pas en JavaScript
Cet ensemble de chapitres répond à des questions telles que « qu'est-ce que JavaScript ? », « à quoi ressemble-t-il ? », « que puis-je faire avec ? » et présente des éléments clés du langage tels que les variables, les chaînes de caractères, les nombres et les tableaux.
Les principaux blocs de JavaScript
On poursuit ici la présentation des fonctionnalités importantes de JavaScript, notamment celle des blocs de codes fréquemment utilisés comme les instructions conditionnelles, les boucles, les fonctions et les évènements.
Une introduction aux objets JavaScript
JavaScript est un langage de programmation « orienté objet » et ce concept est primordial pour utiliser JavaScript au mieux, écrire du code plus efficace et comprendre son fonctionnement. Ce module présente les bases de ces concepts.
La programmation asynchrone en JavaScript
Dans cet article, on aborde les fonctionnalités asynchrones de JavaScript, en quoi elles sont importantes et la façon dont elles peuvent être utilisées lors d'opérations bloquantes comme la récupération de ressources provenant d'un serveur.
Les API Web utilisées côté client
Lorsqu'on écrit du JavaScript pour un site web ou une application, il est rapidement nécessaire de manipuler les API : des interfaces qui permettent de manipuler différents aspects du navigateur, des données provenant d'autres sites ou services, etc. Dans ce module, nous verrons ce que sont les API, et comment utiliser les API les plus fréquemment utilisées.

Guide JavaScript

Guide JavaScript
Si vous débutez avec JavaScript, ce guide vous permettra de découvrir les différents éléments du langage.

Niveau intermédiaire

Comprendre les frameworks JavaScript côté client
Les frameworks JavaScript font partie de l'écosystème du développement web côté client. Les outils qu'ils fournissent permettent de construire des applications dynamiques sur des bases robustes. Dans ce module, on présente les notions principales de leur fonctionnement et comment ces outils peuvent rejoindre votre panoplie. Des tutoriels sur les frameworks les plus répandus suivront cet article.
Introduction à JavaScript orienté objet
Une introduction aux concepts de la programmation orientée objet, appliquée au JavaScript.
Une réintroduction à JavaScript
Un aperçu destiné à ceux qui pensent savoir ce qu'est JavaScript.
Les structures de données en JavaScript
Un aperçu des structures de données disponibles en JavaScript.
Les différents tests d'égalité
JavaScript permet d'utiliser trois opérations pour comparer des valeurs, l'égalité stricte utilisée avec ===, l'égalité simple utilisée avec == ainsi que l'égalité de valeurs.
Les fermetures (closures)
Une fermeture (closure en anglais) correspond à la combinaison entre une fonction et l'environnement lexical au sein duquel elle a été déclarée.

Niveau avancé

Héritage et chaîne de prototypes
Cette page explique l'héritage à base de prototype, un concept souvent incompris et sous-estimé.
Le mode strict
Une variante plus restreinte de JavaScript (par exemple, on ne peut pas utiliser de variable avant de l'avoir définie). Elle permet d'obtenir de meilleures performances et de faciliter le débogage.
Les tableaux typés en JavaScript
Les tableaux typés permettent d'accéder à des données binaires brutes, de façon organisée.
La gestion de la mémoire en JavaScript
Cet article décrit le cycle de vie des objets et de la mémoire en JavaScript, ainsi que le mécanisme du ramasse-miettes.
Gestion de la concurrence et boucle des événements
Le modèle de concurrence utilisé par JavaScript est basé sur une « boucle d'événements »

Référence

Parcourez la documentation complète de la référence JavaScript.

Les objets standard
Apprenez à connaître les objets natifs standard tels que {{jsxref("Array")}}, {{jsxref("Boolean")}}, {{jsxref("Date")}}, {{jsxref("Error")}}, {{jsxref("Function")}}, {{jsxref("JSON")}}, {{jsxref("Math")}}, {{jsxref("Number")}}, {{jsxref("Object")}}, {{jsxref("RegExp")}}, {{jsxref("String")}}, {{jsxref("Map")}}, {{jsxref("Set")}}, {{jsxref("WeakMap")}}, {{jsxref("WeakSet")}}, et d'autres.
Les expressions et les opérateurs
Apprenez à connaître comment fonctionnent les opérateurs JavaScript comme {{jsxref("Opérateurs/instanceof", "instanceof")}}, {{jsxref("Opérateurs/L_opérateur_typeof", "typeof")}}, {{jsxref("Opérateurs/L_opérateur_new", "new")}}, {{jsxref("Opérateurs/L_opérateur_this", "this")}} et bien d'autres notions comme la précédence des opérateurs.
Les instructions et les déclarations
Apprenez à connaître comment utiliser {{jsxref("Instructions/do...while", "do-while")}}, {{jsxref("Instructions/for...in", "for-in")}}, {{jsxref("Instructions/for...of", "for-of")}}, {{jsxref("Instructions/try...catch", "try-catch")}}, {{jsxref("Instructions/let", "let")}}, {{jsxref("Instructions/var", "var")}}, {{jsxref("Instructions/const", "const")}}, {{jsxref("Instructions/if...else", "if-else")}}, {{jsxref("Instructions/switch", "switch")}} et les autres mots-clés et instructions JavaScript.
Les fonctions
Apprenez à utiliser les fonctions en JavaScript pour développer vos applications.

Outils & ressources

Voici une liste d'outils utiles pour écrire et déboguer du code JavaScript.

Les outils de développement Firefox
L'ardoise, la console web, le profileur JavaScript, le débogueur, et bien plus.
Les consoles JavaScript
Une console JavaScript qui vous permet de rapidement tester des fragments de code JavaScript.
TogetherJS

Un outil JavaScript pour travailler à plusieurs sur un même site en ajoutant cette bibliothèque.

Stack Overflow
Les questions posées sur Stack Overflow, étiquetées « JavaScript ».
Les différentes versions JavaScript et les notes de versions
Parcourez l'historique de JavaScript, l'évolution des différentes fonctionnalités et l'état de l'implémentation.
JSFiddle
Éditez du code JavaScript, CSS et HTML et visualisez le résultat obtenu en direct. Vous pouvez aussi partager des exemples et collaborer avec votre équipe.
JS Bin
JS Bin est un site web pour le développement et le débogage collaboratif de code JavaScript et de pages web.
CodePen
CodePen est un outil de développement web collaboratif permettant de voir le résultat en direct.
Plunker
Plunker est un site communautaire et collaboratif pour partager des idées relatives au développement web. Vous pouvez y éditer des fichiers JavaScript, CSS et HTML puis voir le résultat obtenu.