Présentation

Article

1 - HISTORIQUE ET EMPLOIS

2 - SYNTAXE

3 - VALEURS

4 - INSTRUCTIONS

5 - ENVIRONNEMENT GLOBAL

6 - HÉRITAGE ET PROTOTYPES

7 - CONCURRENCE

8 - GÉNÉRATEUR

9 - CONCLUSIONS

Article de référence | Réf : H3120 v2

Concurrence
Javascript

Auteur(s) : Christian Queinnec

Date de publication : 10 févr. 2017

Pour explorer cet article
Télécharger l'extrait gratuit

Vous êtes déjà abonné ?Connectez-vous !

Sommaire

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’article

ABSTRACT

Javascript

Javascript is a programming language created for Web applications. Though it is still young, the tremendous development of the Web has made it the dominant programming language first for browsers, and now for servers. This article presents Javascript in its most recent standard version (2015).

Auteur(s)

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.

Cet article est réservé aux abonnés.
Il vous reste 93% à découvrir.

Pour explorer cet article
Téléchargez l'extrait gratuit

Vous êtes déjà abonné ?Connectez-vous !


L'expertise technique et scientifique de référence

La plus importante ressource documentaire technique et scientifique en langue française, avec + de 1 200 auteurs et 100 conseillers scientifiques.
+ de 10 000 articles et 1 000 fiches pratiques opérationnelles, + de 800 articles nouveaux ou mis à jours chaque année.
De la conception au prototypage, jusqu'à l'industrialisation, la référence pour sécuriser le développement de vos projets industriels.

KEYWORDS

Computer   |   JavaScript   |   programming   |   programming language

VERSIONS

Il existe d'autres versions de cet article :

DOI (Digital Object Identifier)

https://doi.org/10.51257/a-v2-h3120


Cet article fait partie de l’offre

Technologies logicielles Architectures des systèmes

(239 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

ABONNEZ-VOUS

Lecture en cours
Présentation

7. Concurrence

Javascript est mono-tâche non préemptif. Ces mots signifient que l’évaluateur ne fait qu’une seule chose à la fois et qu’il ne fait que cette chose jusqu’à son achèvement. Deux grandes conséquences :

  • chaque exécution peut se considérer comme en section critique puisque rien ne peut l’empêcher d’être menée à terme ;

  • une boucle infinie ne se terminera donc jamais.

D’un autre côté, la bibliothèque d’exécution primitive de Javascript (par exemple, celle que fournissent les navigateurs) sait mener en parallèle des actions comme aller chercher des pages, des images, des scripts et les traiter de façon appropriée lorsque leur contenu a été obtenu. La communication entre ces deux mondes s’effectue par le biais d’événements et de suites (en jargon, callback). Le terme callback peut aussi être traduit par « fonction de renvoi » mais c’est moins léger que « suite » qui sera adopté ici. La littérature anglophone utilise souvent le terme de « continuation » qui, sémantiquement, n’a pas cette acception. À tout instant, la continuation représente l’ensemble des calculs restant à mener jusqu’à l’achèvement complet du programme. Une suite n’est qu’une fonction qui sera invoquée lorsque les conditions de son lancement seront réunies.

De façon générale, la bibliothèque d’exécution primitive propose, dès qu’une fonctionnalité prend un temps indéterminé pour s’achever, de lui procurer une interface asynchrone lui permettant de signaler, par des événements, les différents états auxquels elle aboutit. Ainsi, aller chercher le contenu d’une page connue par son URL peut signaler, au bout d’un certain temps, un parmi deux événements possibles : soit le bon achèvement de la requête, soit son échec (réseau inaccessible, mauvaise URL, page absente, mauvais format, etc.). Aux événements qui seront signalés, on peut associer des fonctions qui seront déclenchées lorsque surviendra l’événement, fonctions qui représentent donc la « suite » de ce qu’il faut faire.

Le moteur d’exécution de Javascript est un ordonnanceur qui maintient à jour la liste des suites pouvant être exécutées et la liste des suites encore en attente d’un événement....

Cet article est réservé aux abonnés.
Il vous reste 95% à découvrir.

Pour explorer cet article
Téléchargez l'extrait gratuit

Vous êtes déjà abonné ?Connectez-vous !


L'expertise technique et scientifique de référence

La plus importante ressource documentaire technique et scientifique en langue française, avec + de 1 200 auteurs et 100 conseillers scientifiques.
+ de 10 000 articles et 1 000 fiches pratiques opérationnelles, + de 800 articles nouveaux ou mis à jours chaque année.
De la conception au prototypage, jusqu'à l'industrialisation, la référence pour sécuriser le développement de vos projets industriels.

Cet article fait partie de l’offre

Technologies logicielles Architectures des systèmes

(239 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

ABONNEZ-VOUS

Lecture en cours
Concurrence
Sommaire
Sommaire

BIBLIOGRAPHIE

  • (1) - SELF UNGAR (D.), SMITH (R.B.) -   Self : The Power of Simplicity.  -  OOPSLA ’87 Conference Proceedings, pp. 227-241, Orlando, FL, October 1987

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

Cet article est réservé aux abonnés.
Il vous reste 94% à découvrir.

Pour explorer cet article
Téléchargez l'extrait gratuit

Vous êtes déjà abonné ?Connectez-vous !


L'expertise technique et scientifique de référence

La plus importante ressource documentaire technique et scientifique en langue française, avec + de 1 200 auteurs et 100 conseillers scientifiques.
+ de 10 000 articles et 1 000 fiches pratiques opérationnelles, + de 800 articles nouveaux ou mis à jours chaque année.
De la conception au prototypage, jusqu'à l'industrialisation, la référence pour sécuriser le développement de vos projets industriels.

Cet article fait partie de l’offre

Technologies logicielles Architectures des systèmes

(239 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

ABONNEZ-VOUS