aboutsummaryrefslogtreecommitdiff
path: root/files/fr/web/javascript/index.html
blob: fd439ec4d5427d93e8f6ed90fe3e9649f1aa29c2 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
---
title: JavaScript
slug: Web/JavaScript
tags:
  - Apprendre
  - JavaScript
  - Landing page
  - 'l10n:priority'
translation_of: Web/JavaScript
---
<div>{{JsSidebar}}</div>

<p class="summary"><span class="seoSummary"><strong>JavaScript</strong> (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 <a href="https://fr.wikipedia.org/wiki/JavaScript#Autres_utilisations">utilisé dans de nombreux environnements extérieurs aux navigateurs web</a> tels que <a href="https://nodejs.org/">Node.js</a>, <a href="https://couchdb.apache.org/">Apache CouchDB</a> voire <a href="https://www.adobe.com/devnet/acrobat/javascript.html">Adobe Acrobat</a>. Le code JavaScript est interprété ou compilé à la volée (<a href="https://fr.wikipedia.org/wiki/Compilation_%C3%A0_la_vol%C3%A9e">JIT</a>)</span>. C'est un langage à objets utilisant le concept de <a href="https://fr.wikipedia.org/wiki/Programmation_orient%C3%A9e_prototype">prototype</a>, disposant d'un typage faible et dynamique qui permet de programmer suivant plusieurs paradigmes de programmation : fonctionnelle, impérative et orientée objet. <a href="/fr/docs/Web/JavaScript/A_propos">Apprenez-en plus sur JavaScript</a>.</p>

<p class="summary">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 <a href="/fr/docs/Web/API">API Web</a> (<em>Web API</em> en anglais) et le <a href="/fr/docs/DOM">DOM</a>.</p>

<p>Le standard pour JavaScript est <a href="/fr/docs/Web/JavaScript/Language_Resources">ECMAScript</a>. 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 <a href="https://tc39.github.io/ecma262/">ECMAScript 2020</a>.</p>

<p>JavaScript ne doit pas être confondu avec le <a href="https://fr.wikipedia.org/wiki/Java_%28langage%29">langage de programmation Java</a>. 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.</p>

<div class="column-container">
<div class="column-half">
<h2 id="Tutoriels">Tutoriels</h2>

<p>Apprenez comment programmer en JavaScript.</p>

<h3 id="Ressources_pour_commencer">Ressources pour commencer</h3>

<p>Si vous souhaitez apprendre JavaScript et que vous débutez en programmation ou en JavaScript, <a href="/fr/Apprendre/JavaScript">la section JavaScript de la zone d'apprentissage de MDN (<em>learning area</em>)</a> est le meilleur endroit où commencer. Cette section contient les modules suivants :</p>

<dl>
 <dt><a href="/fr/docs/Learn/JavaScript/First_steps">Les premiers pas en JavaScript</a></dt>
 <dd>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.</dd>
 <dt><a href="https://developer.mozilla.org/fr/Apprendre/JavaScript/Building_blocks">Les principaux blocs de JavaScript</a></dt>
 <dd>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.</dd>
 <dt><a href="/fr/docs/Learn/JavaScript/Objects">Une introduction aux objets JavaScript</a></dt>
 <dd>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.</dd>
 <dt><a href="/fr/docs/Apprendre/JavaScript/Asynchrone">La programmation asynchrone en JavaScript</a></dt>
 <dd>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.</dd>
 <dt></dt>
 <dt><a href="/fr/Apprendre/JavaScript/Client-side_web_APIs">Les API Web utilisées côté client</a></dt>
 <dd>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.</dd>
</dl>

<h3 id="Guide_JavaScript">Guide JavaScript</h3>

<dl>
 <dt><a href="/fr/docs/Web/JavaScript/Guide">Guide JavaScript</a></dt>
 <dd>Si vous débutez avec JavaScript, ce guide vous permettra de découvrir les différents éléments du langage.</dd>
</dl>

<h3 id="Niveau_intermédiaire">Niveau intermédiaire</h3>

<dl>
 <dt><a href="/fr/docs/Learn/Tools_and_testing/Client-side_JavaScript_frameworks">Comprendre les <em>frameworks</em> JavaScript côté client</a></dt>
 <dd>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.</dd>
 <dt><a href="/fr/docs/Web/JavaScript/Introduction_à_JavaScript_orienté_objet">Introduction à JavaScript orienté objet</a></dt>
 <dd>Une introduction aux concepts de la programmation orientée objet, appliquée au JavaScript.</dd>
 <dt><a href="/fr/docs/Web/JavaScript/Une_réintroduction_à_JavaScript">Une réintroduction à JavaScript</a></dt>
 <dd>Un aperçu destiné à ceux qui pensent savoir ce qu'est JavaScript.</dd>
</dl>

<dl>
 <dt><a href="/fr/docs/Web/JavaScript/Structures_de_données">Les structures de données en JavaScript</a></dt>
 <dd>Un aperçu des structures de données disponibles en JavaScript.</dd>
 <dt><a href="/fr/docs/Web/JavaScript/Les_différents_tests_d_égalité_comment_les_utiliser">Les différents tests d'égalité</a></dt>
 <dd>JavaScript permet d'utiliser trois opérations pour comparer des valeurs, l'égalité stricte utilisée avec <code>===</code>, l'égalité simple utilisée avec <code>==</code> ainsi que l'égalité de valeurs.</dd>
 <dt><a href="/fr/docs/Web/JavaScript/Closures">Les fermetures (<em>closures</em>)</a></dt>
 <dd>Une fermeture (<em>closure</em> en anglais) correspond à la combinaison entre une fonction et l'environnement lexical au sein duquel elle a été déclarée.</dd>
</dl>

<h3 id="Niveau_avancé">Niveau avancé</h3>

<dl>
 <dt><a href="/fr/docs/Web/JavaScript/Héritage_et_chaîne_de_prototypes">Héritage et chaîne de prototypes</a></dt>
 <dd>Cette page explique l'héritage à base de prototype, un concept souvent incompris et sous-estimé.</dd>
 <dt><a href="/fr/docs/Web/JavaScript/Reference/Strict_mode">Le mode strict</a></dt>
 <dd>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.</dd>
 <dt><a href="/fr/docs/Web/JavaScript/Tableaux_typés">Les tableaux typés en JavaScript</a></dt>
 <dd>Les tableaux typés permettent d'accéder à des données binaires brutes, de façon organisée.</dd>
 <dt><a href="/fr/docs/Web/JavaScript/Gestion_de_la_mémoire">La gestion de la mémoire en JavaScript</a></dt>
 <dd>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.</dd>
 <dt><a href="/fr/docs/Web/JavaScript/Concurrence_et_boucle_des_événements">Gestion de la concurrence et boucle des événements</a></dt>
 <dd>Le modèle de concurrence utilisé par JavaScript est basé sur une « boucle d'événements »</dd>
</dl>
</div>

<div class="column-half">
<h2 id="Référence">Référence</h2>

<p>Parcourez la documentation complète de la <a href="/fr/docs/Web/JavaScript/Reference">référence JavaScript</a>.</p>

<dl>
 <dt><a href="/fr/docs/Web/JavaScript/Reference/Objets_globaux">Les objets standard</a></dt>
 <dd>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.</dd>
 <dt><a href="/fr/docs/Web/JavaScript/Reference/Opérateurs">Les expressions et les opérateurs</a></dt>
 <dd>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 <a href="/fr/docs/Web/JavaScript/Reference/Op%C3%A9rateurs/Pr%C3%A9c%C3%A9dence_des_op%C3%A9rateurs">la précédence des opérateurs</a>.</dd>
 <dt><a href="/fr/docs/Web/JavaScript/Reference/Instructions">Les instructions et les déclarations</a></dt>
 <dd>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.</dd>
 <dt><a href="/fr/docs/Web/JavaScript/Reference/Fonctions">Les fonctions</a></dt>
 <dd>Apprenez à utiliser les fonctions en JavaScript pour développer vos applications.</dd>
</dl>

<h2 id="Outils_ressources">Outils &amp; ressources</h2>

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

<dl>
 <dt><a href="/fr/docs/Outils">Les outils de développement Firefox</a></dt>
 <dd><a href="/fr/docs/Outils/Ardoise">L'ardoise</a>, <a href="/fr/docs/Outils/Web_Console">la console web</a>, <a href="/fr/docs/Outils/Profiler">le profileur JavaScript</a>, <a href="/fr/docs/Outils/Debugger">le débogueur</a>, et bien plus.</dd>
 <dt><a href="/fr/docs/Web/JavaScript/Shells">Les consoles JavaScript</a></dt>
 <dd>Une console JavaScript qui vous permet de rapidement tester des fragments de code JavaScript.</dd>
 <dt><a href="https://togetherjs.com/">TogetherJS</a></dt>
 <dd>
 <p class="hero-header-text large">Un outil JavaScript pour travailler à plusieurs sur un même site en ajoutant cette bibliothèque.</p>
 </dd>
 <dt><a href="https://stackoverflow.com/questions/tagged/javascript">Stack Overflow</a></dt>
 <dd>Les questions posées sur Stack Overflow, étiquetées « JavaScript ».</dd>
 <dt><a href="/fr/docs/Web/JavaScript/New_in_JavaScript">Les différentes versions JavaScript et les notes de versions</a></dt>
 <dd>Parcourez l'historique de JavaScript, l'évolution des différentes fonctionnalités et l'état de l'implémentation.</dd>
 <dt><a href="https://jsfiddle.net/">JSFiddle</a></dt>
 <dd>É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.</dd>
 <dt><a href="https://jsbin.com">JS Bin</a></dt>
 <dd>JS Bin est un site web pour le développement et le débogage collaboratif de code JavaScript et de pages web.</dd>
 <dt><a href="https://codepen.io/">CodePen</a></dt>
 <dd>CodePen est un outil de développement web collaboratif permettant de voir le résultat en direct.</dd>
 <dt><a href="https://plnkr.co/">Plunker</a></dt>
 <dd>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.</dd>
</dl>
</div>
</div>