Présentation
RÉSUMÉ
Javascript est un langage de programmation pour les applications Web. Quoique assez jeune, puisque né en 1995, l’essor du Web a conféré à Javascriptune position dominante tant dans les navigateurs que maintenant côté serveurs. Cet article présente ce langage dans sa version standardisée de 2015.
Lire cet article issu d'une ressource documentaire complète, actualisée et validée par des comités scientifiques.
Lire l’articleAuteur(s)
-
Christian Queinnec : Professeur émérite de l’UPMC
INTRODUCTION
Javascript est désormais le langage du Web tant du côté des serveurs que du côté des navigateurs qu’il s’exécute sur téléphone, tablette ou ordinateur. Cet article décrit synthétiquement le langage (dans sa version ECMAScript 2015) et ses principales spécificités afin de permettre aux lecteurs, ayant une certaine pratique de l’informatique, d’appréhender les caractéristiques majeures de ce langage de programmation. Tout ne sera bien évidemment pas dit (la norme fait 566 pages) mais l’essentiel le sera.
Les exemples figurant dans cet article n’ont pas une tonalité uniforme, ils varient les styles, emploient parfois des caractéristiques en avance ou des caractéristiques mineures non nécessairement détaillées dans le texte, mais qui illustrent l’éventail des possibilités qu’offre ECMAScript 2015.
VERSIONS
- Version archivée 1 de mars 1979 par Georges GARDARIN, Richard GOMIEZ DE CÉDRON
DOI (Digital Object Identifier)
Cet article fait partie de l’offre
Technologies logicielles Architectures des systèmes
(240 articles en ce moment)
Cette offre vous donne accès à :
Une base complète d’articles
Actualisée et enrichie d’articles validés par nos comités scientifiques
Des services
Un ensemble d'outils exclusifs en complément des ressources
Un Parcours Pratique
Opérationnel et didactique, pour garantir l'acquisition des compétences transverses
Doc & Quiz
Des articles interactifs avec des quiz, pour une lecture constructive
Présentation
5. Environnement global
Jusqu’ici, ont été exposés de Javascript les mots-clés, quelques fonctions essentielles et les notions de portée et d’environnement. Quel est l’environnement global et que contient-il ? La réponse dépend de la mise en œuvre particulière de Javascript.
Dans un navigateur, Javascript s’exécute dans un contexte restreint pour des raisons de sécurité. En effet, autoriser Javascript dans son navigateur, c’est permettre à du code écrit l’on ne sait où de s’exécuter dans son navigateur et donc sur sa machine. On ne cite plus les attaques où ces codes pouvaient dérober des fichiers sensibles, envoyer du spam, inspecter le réseau interne d’une société ou espionner les autres codes Javascript afin de trouver des numéros de cartes bancaires ou des mots de passe. Les navigateurs ont fait beaucoup d’efforts pour limiter ces risques et, en conséquence, procurent des bibliothèques restreintes en fonctionnalités : il n’est ainsi pas possible qu’un programme Javascript s’exécutant dans un navigateur puisse lire, sans restriction, le disque dur de l’utilisateur.
Dans cette mise en œuvre, chaque fenêtre du navigateur procure un environnement global au code Javascript qu’il héberge. Cet environnement est accessible, sous la forme d’une table associative, valeur de la variable window. Ainsi, chaque variable globale est aussi vue comme une propriété de l’environnement global (figure 31).
Dans l’environnement global d’un navigateur est aussi exposé le contenu de la page web : le DOM (pour Document Object Model) sous la forme d’un arbre réifié que l’on peut non seulement inspecter mais aussi modifier en provoquant ainsi des changements d’affichage. Certains fonctionnalités du navigateur sont aussi rendues disponibles comme créer de nouvelles fenêtres, modifier leur aspect, etc.
Mais Javascript est aussi un langage de programmation comme C ou Java et, à ce titre, procure l’ensemble des bibliothèques usuelles permettant de lire ou d’écrire des fichiers, d’interagir avec des serveurs, des bases de données, etc. Node.js est une telle mise en œuvre dont le succès a permis d’écrire des serveurs en Javascript. L’environnement global se nomme global en Node.js.
ECMAScript 2015 a défini un nouveau système de modules dont les relations sont réglées avec de nouveaux mots-clés : import et export. Modules et fichiers sont liés, le nom d’un...
Cet article fait partie de l’offre
Technologies logicielles Architectures des systèmes
(240 articles en ce moment)
Cette offre vous donne accès à :
Une base complète d’articles
Actualisée et enrichie d’articles validés par nos comités scientifiques
Des services
Un ensemble d'outils exclusifs en complément des ressources
Un Parcours Pratique
Opérationnel et didactique, pour garantir l'acquisition des compétences transverses
Doc & Quiz
Des articles interactifs avec des quiz, pour une lecture constructive
Environnement global
BIBLIOGRAPHIE
NORMES
-
ECMAScript® 2016 language specification - ECMA-262 - 2016
-
IEEE Standard for the Scheme Programming Language - IEEE Std 1178-1990 - 1990
-
Information technology Universal Coded Character Set (UCS) - ISO/IEC 10646 : 2014 - 2014
-
Standard for Binary Floating – Point Arithmetic - IEEE 754 - 2008
ANNEXES
Node https://nodejs.org/
Babel.js http://babeljs.io/
MongoDB https://www.mongodb.org/
JQuery https://jquery.com/
lodash https://github.com/lodash/lodash
Rhino https://github.com/mozilla/rhino
ES6 compatibility https://kangax.github.io/compat-table/es6/
HAUT DE PAGECet article fait partie de l’offre
Technologies logicielles Architectures des systèmes
(240 articles en ce moment)
Cette offre vous donne accès à :
Une base complète d’articles
Actualisée et enrichie d’articles validés par nos comités scientifiques
Des services
Un ensemble d'outils exclusifs en complément des ressources
Un Parcours Pratique
Opérationnel et didactique, pour garantir l'acquisition des compétences transverses
Doc & Quiz
Des articles interactifs avec des quiz, pour une lecture constructive