Langage JavaScript
Programme de l'épreuve d'étude de cas de l'Agrég
La présente annexe liste limitativement les éléments du langage JavaScript (7e édition du standard ECMA-262). Ces éléments s’inscrivent dans la perspective de lire et d’écrire des éléments de code javascript intégrés à des documents HTML. Aucun concept sous-jacent n’est exigible au titre de la présente annexe.
Traits et éléments techniques à connaître
Les éléments et notations suivants du langage JavaScript doivent être compris et utilisés par les étudiants sans faire l’objet d’un rappel, y compris lorsqu’ils n’ont pas accès à un ordinateur.
Traits généraux
- Typage dynamique.
- Passage par valeur.
- Délimitation des portées : par bloc pour
let. - Gestion de la mémoire : pile et tas, garbage collector.
- Retours à la ligne significatifs (automatic semicolon insertion) ; on privilégiera l’emploi du point- virgule.
Définitions et types de base
- Quatre types primitifs à considérer :
boolean(true / false). Opérateurs!,&&,||.number(virgule flottante double précision). Opérateur+,++,-,--,*,/(point d’attention avecNaN).string(chaîne de caractères UTF-16).undefined.
- Opérateurs de comparaison
==,<,>,<=,>=,===(égalité stricte). - Définition de constantes (
const), de variables (let). - Définition de fonctions
function nom(param) { . . . }. Les paramètres non passés sont initialisés àundefined.
Types structurés
- Tableaux :
let t = [a, b, c]; lecture et écriture d’un terme de tableau par son indicet[i]; fonctionslength,push,pop,forEach. - Objet :
let obj = { "nom_a" : valeur _a, "nom_b" : valeur _b }; lecture et écriture d’une propriété par son nom :obj.nom_a. Absence de valeur :undefined.
Structures de contrôle
- Conditionnelles :
if (c) setif (c) s else s' - Boucles :
while (c) setfor (init ; fin; incr ) s
Éléments techniques devant être reconnus et utilisables après rappel
Manipulation des objets du DOM
- Objets du DOM (par exemple
Document,Node,Element,NodeList,HTMLCollection) - Requêtes sur le DOM (par exemple
document.getElementById(),document.querySelector(),document.querySelectorAll()) - Lecture / écriture du DOM :
- en utilisant les propriétés et attributs IDL (pour Interface Description Language, par exemple
id,src,value,style,innerHTML), - en utilisant les méthodes (par exemple
createElement(),createTextNode(),getAttribute(),setAttribute(),appendChild()).
- en utilisant les propriétés et attributs IDL (pour Interface Description Language, par exemple
Réaction aux événements DOM
- Les événements : l’objet Event, propagation des événements dans le DOM.
- Gestionnaire d’événements : notamment
addEventListener(),removeEventListener().
Asynchronisme et requêtes HTTP
- Principes : Code bloquant, Mono Thread, Fonction de callback.
- Programmation Asynchrone notamment avec
asyncetawait. - Envoi de requêtes http (POST et GET) (par exemple avec la fonction asynchrone
fetch()ouXMLHttpRequest()).