[ Web Proxy ]
URL:
Viewing: https://developer.mozilla.org/fr/docs/Web/JavaScript/Guide/Introduction [Back]  [Original]

Introduction - JavaScript | MDN

Cette page a t traduite partir de l'anglais par la communaut. Vous pouvez contribuer en rejoignant la communaut francophone sur MDN Web Docs.

View in English Always switch to English

Introduction

Ce chapitre introduit JavaScript et prsente certains de ses concepts fondamentaux.

Dans cet article

Ce que vous devriez dj savoir

Pour lire ce guide, il est conseill d'avoir :

  • Une comprhension gnrale du fonctionnement d'Internet et du World Wide Web.
  • Une connaissance lmentaire du HyperText Markup Language (HTML).
  • Une exprience pralable en programmation. Si vous dbutez la programmation, vous pouvez utiliser l'un des tutoriels lists sur la page JavaScript.

O trouver des informations concernant JavaScript

La documentation MDN pour JavaScript comprend :

  • Apprendre le Web : cette section fournit des informations destines aux dbutants et prsente les concepts de bases autour de la programmation et d'Internet.
  • Le guide JavaScript (ce guide) fournit un aperu du langage JavaScript et de ses objets.
  • La rfrence JavaScript fournit une rfrence dtaille sur les fonctionnalits de JavaScript.

Qu'est-ce que JavaScript ?

JavaScript est un langage de script, multi-plateforme et orient objet. C'est un langage lger qui doit faire partie d'un environnement hte (un navigateur web par exemple) pour qu'il puisse tre utilis sur les objets de cet environnement.

JavaScript contient une bibliothque standard d'objets tels que Array, Date, et Math, ainsi qu'un ensemble d'lments de langage tels que les oprateurs, les structures de contrles et les instructions. Ces fonctionnalits centrales et natives de JavaScript peuvent tre tendues de plusieurs faons en fournissant d'autres objets, par exemple :

  • JavaScript ct client tend ces lments de base en fournissant des objets pour contrler le navigateur et le Document Object Model (DOM). Par exemple, les extensions du langage ct client permettent de placer des lments dans un formulaire HTML, de ragir aux vnements dclenchs par l'utilisateurice (les clics, la saisie d'un formulaire, les actions de navigation, etc.).
  • JavaScript cte serveur tend ces lments de base avec des objets utiles pour le fonctionnement sur un serveur tels que la possibilit de communiquer avec une base de donnes, manipuler des fichiers, passer d'une application une autre, etc.

Cela signifie que, dans le navigateur, JavaScript peut modifier l'apparence de la page web (DOM). De mme, JavaScript Node.js ct serveur peut rpondre des requtes personnalises envoyes par du code excut dans le navigateur.

JavaScript et Java

JavaScript et Java se ressemblent sur certains aspects, mais ils sont fondamentalement diffrents l'un de l'autre. Le langage JavaScript ressemble Java, mais n'est pas typ statiquement et le typage de JavaScript est faible (alors qu'il est fort en Java). La syntaxe des expressions JavaScript est trs proche de celle du Java avec les conventions de nommage et les constructions conditionnelles par exemple : c'est une des raisons qui a fait que le langage LiveScript a t renomm en JavaScript.

la diffrence de Java qui est un systme compil et dont les classes sont dclares, JavaScript est trait lors de l'excution et possde quelques types de donnes pour reprsenter les nombres, les boolens et les chanes de caractres (entre autres). JavaScript utilise un modle bas sur les prototypes pour reprsenter les liens entre les objets alors que Java utilise un modle plus courant bas sur les classes. Les prototypes permettent d'avoir un hritage dynamique. Ainsi, les caractristiques hrites par un objet peuvent varier dans le temps. JavaScript supporte galement les fonctions qui sont des objets part entire et qui peuvent tre des proprits d'autres objets.

JavaScript est un langage plutt libre compar au Java. Il n'est pas ncessaire de dclarer toutes les variables, classes et mthodes. Il n'est pas ncessaire de savoir si une mthode est publique, prive ou protge et il n'y a pas d'interfaces implmenter. Les variables, les paramtres et les valeurs de retour des fonctions ne sont pas explicitement typs.

Java est un langage de programmation utilisant les classes, conus pour tre excut rapidement et garantir la sret du typage. Cela signifie par exemple qu'il n'est pas possible de transformer un entier Java en un objet ou qu'on ne peut pas accder des caractristiques prives en corrompant le bytecode Java. Le modle de classes utilis par Java signifie qu'un programme n'est constitu que de classes et de mthodes. Cet hritage base de classes, associ au typage fort font qu'on obtient des structures et des hirarchies d'objets fortement couples. Pour ces raisons, Java peut apparatre comme un langage plus complexe que JavaScript.

l'inverse, JavaScript est un descendant de langages plus lgers, dynamiquement typs tels que HyperTalk et dBASE. Ces langages de scripts visent un public plus large avec une syntaxe plus simple, des fonctionnalits natives spcialises et des prrequis minimaux pour pouvoir crer des objets.

JavaScript Java
Orient objet. Aucune distinction entre les types et les objets. L'hritage est bas sur un mcanisme utilisant les prototypes et les proprits et mthodes peuvent tre ajoutes dynamiquement n'importe quel objet. Orient objet, utilisant un modle de classes. Les objets sont diviss entre les classes et les instances, l'hritage s'effectue via la hirarchie des classes. Les classes et les instances ne peuvent pas recevoir de nouvelles proprits ou mthodes dynamiquement.
Le type de donnes des variables n'est pas dclar (typage dynamique). Le type de donnes des variables doit tre dclar (typage statique).
Ne peut pas crire automatiquement sur le disque dur. Peut crire automatiquement sur le disque dur.

JavaScript et la spcification ECMAScript

JavaScript est standardis par Ecma International (angl.) une association europenne de standardisation des systmes d'information et de communication (ECMA tant historiquement un acronyme pour European Computer Manufacturers Association) qui dlivre un langage de programmation standardis, international appel ECMAScript. Ce langage se comporte de la mme faon pour toutes les applications qui supportent ce standard. Les entreprises peuvent utiliser ce langage standard afin de dvelopper leur implmentation de JavaScript. Le standard ECMAScript est document avec la spcification ECMA-262.

Le standard ECMA-262 est galement approuv par l'ISO (angl.) (International Organization for Standardization) sous ISO-16262. La spcification peut galement tre trouve sur le site web d'Ecma International (angl.). La spcification ECMAScript ne dcrit pas le Document Object Model (DOM) qui est standardis par le World Wide Web Consortium (W3C) (angl.) et le WHATWG (Web Hypertext Application Technology Working Group) (angl.). Le DOM dfinit la faon dont les documents HTML sont exposs aux scripts. Pour mieux comprendre les diffrentes technologies gravitant autour de JavaScript, voir l'article Aperu des technologies JavaScript.

Documentation JavaScript et spcification ECMAScript

La spcification ECMAScript est un ensemble de conditions respecter pour implmenter ECMAScript : cela est utile lorsqu'on souhaite implmenter des fonctionnalits standard du langage au sein d'une implmentation ou d'un moteur ECMAScript (tel que SpiderMonkey pour Firefox, ou V8 pour Chrome).

La spcification ECMAScript n'a pas pour but d'aider les dveloppeureuses crire des scripts. La documentation JavaScript permet d'obtenir des informations pour crire des scripts JavaScript.

La spcification ECMAScript utilise parfois une terminologie et une syntaxe qui peuvent sembler tranges aux yeux d'un dveloppeureuse JavaScript. Bien que la description du langage diffre entre ECMAScript et la documentation JavaScript, le langage lui-mme reste le mme. JavaScript supporte l'ensemble des fonctionnalits mises en avant dans la spcification ECMAScript.

La documentation JavaScript dcrit les aspects du langage qui pourront tre utiliss par les dveloppeureuses JavaScript.

Dmarrer avec JavaScript

Pour commencer utiliser JavaScript, il suffit d'avoir un navigateur web moderne. Les versions rcentes de Firefox, Chrome, Microsoft Edge et Safari prennent toutes en charge les fonctionnalits abordes dans ce guide.

Un outil trs utile pour explorer JavaScript est la console JavaScript (parfois appele console web, ou simplement console) : il s'agit d'un outil qui permet de saisir du JavaScript et de l'excuter dans la page courante.

Les captures d'cran ici montrent la console web de Firefox (angl.), mais tous les navigateurs modernes sont livrs avec une console qui fonctionne de manire similaire.

Ouvrir la console web

Les instructions exactes pour ouvrir la console varient selon le navigateur :

Saisir et excuter du JavaScript

La console apparat en bas de la fentre du navigateur. Le long du bas de la console se trouve une ligne de saisie que vous pouvez utiliser pour entrer du JavaScript, et la sortie apparat dans le panneau au-dessus :

Une fentre de navigateur avec la console web ouverte en bas, contenant deux lignes de saisie et de sortie. Du texte peut tre saisi en dessous. [Une fentre de navigateur avec la console web ouverte en bas, contenant deux lignes de saisie et de sortie. Du texte peut tre saisi en dessous.]

La console fonctionne exactement comme eval : la dernire expression saisie est renvoye. Pour simplifier, on peut imaginer qu' chaque fois que quelque chose est saisi dans la console, cela est en fait entour par console.log autour de eval, comme ceci :

js
console.log(eval("3 + 5"));

Le mode diteur multiligne

Par dfaut, si vous appuyez sur Entre (ou Retour, selon votre clavier) aprs avoir saisi une chane de caractres (string en anglais) de code, celle-ci est excute. Pour saisir plusieurs lignes :

  • Si la chane de caractres que vous avez tape est incomplte (par exemple, vous avez saisi function foo() {), la console considrera Entre comme un saut de ligne et vous permettra de saisir une autre ligne.
  • Si vous maintenez Maj enfonce tout en appuyant sur Entre, la console considrera cela comme un saut de ligne et vous permettra de saisir une autre ligne.
  • Uniquement dans Firefox, vous pouvez activer le mode diteur multiligne (angl.), dans lequel vous pouvez saisir plusieurs lignes dans un mini-diteur, puis excuter l'ensemble lorsque vous tes prte.

Pour commencer crire du JavaScript, ouvrez la console, copiez le code suivant et collez-le l'invite :

js
(function () {
  "use strict";
  // Dbut de votre code
  function saluerMoi(votreNom) {
    alert(`Bonjour ${votreNom}`);
  }

  saluerMoi("le Monde");
  // Fin de votre code
})();

Appuyez sur Entre pour voir le rsultat dans votre navigateur !

Et ensuite

Dans les pages suivantes, ce guide vous prsente la syntaxe de JavaScript et les fonctionnalits du langage, afin que vous puissiez crire des applications plus complexes.

Mais pour l'instant, souvenez-vous d'inclure toujours (function(){"use strict"; avant votre code, et d'ajouter })(); la fin de votre code. Les articles sur le mode strict et sur les IIFE expliquent ce que cela fait, mais pour l'instant, on peut considrer que cela permet :

  1. D'viter des comportements de JavaScript qui pigent les dbutantes.
  2. D'empcher que des extraits de code excuts dans la console n'interagissent entre eux (par exemple, qu'un lment cr lors d'une excution soit utilis lors d'une autre excution).

Web Proxy Viewer  |  New URL  |  Original Page