Java Script
Java Script
JIT compiler (Just-In-Time)Un type de compilateur qui traduit le code en code machine au
moment de l’exécution. Au lieu de compiler avant l’exécution, le compilateur JIT compile le code
au fur et à mesure de son exécution. [JVM, Javascript].
Différence : Un compilateur convertit le code en code machine avant l'exécution. Un interpréteur
convertit le code en code machine ligne par ligne au moment d’exécution. Tandis qu’un compilateur JIT
combinent les deux approches en traduisant le code au moment de l’exécution, mais d’une manière
dynamique et en optimisant le code en temps réel.
Un langage scriptUne série des instructions qui peuvent être s’exécuter sans compilation. Il utilise un
programme appelé interpréteur.
Protocole HTTP (HyperText Transfer Protocol)est un protocole de communication son rôle et de
définir comment les messages doivent être structuré et comment sont organisé les échanges de données
entre le navigateur et le serveur web. Une requête HTTP inclut une URL qui pointe sur une cible et une
ressource et une méthode de requête afin d’effectuer diverses taches (POST, GET…).
La réponse HTTP l’information fournie par le serveur après la demande du client, elle se représente
sous la forme d’un texte brute au format JSON ou XML.
DNS (Domain Name System)L’action de traduire les noms domaine en adresse IP
Protocole TCP (Transmission Control Protocol)Sur le serveur TCP découpe les données en petits
paquets et ces paquets voyagent sue des chemins différents, sur le client le TCP réordonne les petits
paquets et assure que tous les paquets sont arrivés et non endommagés, si l’un des paquets est
endommagé ou manqué il est redemandé au serveur.
IDE (Environnement de Développement Intégré)Une application qui fournit des outils complets au
programmeurs pour le développement des logiciels (Visual Studio Code).
Front-EndLe terme Front-End désigne l’interface utilisateur. Il est construit en combinant les langages
telles que HTML, JavaScript et CSS.
Back-EndLe terme Back-End désigne le serveur, l’application et la base de données. Il est la logique
informatique d’un site Web ou d’un logiciel. Parmi les langages plus utilisés sont Python, Java, PHP…
XML (eXtensible Markup Language)Un langage de balisage conçu pour stocker et transporter des
données de manière lisible par les humains et structurée pour être interprétée par les machines.
Format JSON (JavaScript Object Notation)C’est format de données qui utilisé pour transmettre les
données entre un serveur et site Web. C’est une alternative plus simple de XML.
JavaScriptUn langage de scripts qui peut être incorporé aux balises HTML et dépendant de celles-ci. JS
est exécute par le navigateur, son rôle est d’améliorer la présentation et l’interactivité des pages Web. JS
offre des gestionnaires des événements (click, hover…).
Opérateurs logiques :
&& : and
|| : ou
! : not
Opérateurs de type :
typeof() retourne le type de la variable
instanceof retourne true si l'objet est une instance de la classe donnée en paramètre
Exemple : console.log(“JavaScript” instanceof String);
Possibilités d'affichage JavaScript :
document.write()
console.log()
alert()
Impression JavaScript :
window.print()
Exemple : <button onclick= ”print()”>Imprimer la page</button>
PromptAffiche une boîte de dialogue avec une zone de saisie
Exemple : x = prompt(‘tapez’)
document.write(x)
Conversion :
Number()
String() || variable.toString()
Conversion de dates en Number :
var.getTime()retourne les secondes depuis 1970
var.getDate()retourne (1-31)
var.getDay()retourne (0-6) dont 0=dimanche
var.getFullYear()retourne l'année YYYY
var.getHours()retourne l'heure (0-23)
var.getMilliseconds()retourne
Pour convertir (0-999)
les date en nombre(on peut le convertir avec Number() si on a déclaré la date comme
un objet
var.getMonth()retourne (0-11) dontNaN,
en utilisent new sinon on va obtenir et aussi en utilisent les getS() il faut le déclaré
0=janvier
comme un objet).
var.getMinutes()retourne (0-59)
var.getSeconds()retourne (0-59)
Structures alternatives :
switch ( variable){
default :
}
// bloc des instructions
Structures itératives :
for ( let i=0 ; i<5 ; i++ ) { for ( let key in object) { for ( let x of object ) {
} } }
i=0 :initialisation for ( let index in array) { Object doit être itérable ( array,
string…) chaque itération x prend la
i<5 :condition // bloc des instructions valeur et pas index
i++ :incrémentation
}
function callBackFunction(value, index, array){ // bloc des instructions // bloc des instructions
// bloc des instructions } }
} while ( condition )
Premier paramètre prend les valeurs,
deuxième prend les index et le derniers prend
tout array
breakUtiliser pour sortir d’une boucle
continueUtiliser pour ignorer une itération et passer à l’itération suivante
Fonction en JSBloc de code organisé et réutilisable créé pour effectuer une action unique
//bloc de code
return …
Expressions lambdas (les fonctions fléchées)Des fonctions qui ont une syntaxe compacte, elles sont
plus rapides que les fonctions normales.
//bloc de code
function affichage(s) {
console.log(s);
}
function calcul(num1, num2, myCallback) {
let somme = num1 + num2;
myCallback(somme);
}
calcul(1, 5, affichage);
Attention: ne pas utiliser les parenthèses dans l’appel de la
fonction.
Promise(la promesse)Un objet JS qui contient à la fois le code producteur et les appels à le
code consommateur (resolve() et reject()),est pour gérer le opérations asynchrones. Elle a trois
états :
En attente (Pending)
Accomplie (Fulfilled)
Rejeté (Rejected)
Une promesse commence par l’état « En attente » et se termine par un résultat contient l’un des
états « Accomplie » ou « Rejeté ».
Syntaxe de la promesse :
setTime( () => {
if (condition verified) {
},3000);
});
}).finally( () => {
Console.log(‘final !’)
});
La gestion des exceptions Pour gérer les exceptions en JS on utilise les mots clés suivants :
try : tester un bloc de code pour les erreurs
catch : gérer l'erreur
throw : créer des erreurs personnalisées
finally :exécution du code après try et catch quel que soit résultat
Création des objets :
Création d’objet avec syntaxe littérale : Creation d’objet avec constructeur :
Manipulation d’objet :
On peut ajouter des méthodes et des propriétés aux objets crées : Object.propriete= value ;
On supprime une propriété en utilisant le mot clé delete : delete nameObject.propriete ;
Manipulation des objets natifs :
Les tableaux
La méthode replace() : Remplace une valeur spécifiée par une autre dans une chaîne, elle
remplace uniquement la première correspondance. New = String.replace(charReche, newChar)
elle est sensible à la casse pour ignorer la casse on utilise une expression régulière avec /i
indicateur (insensible) New = String.replace(/charRecher/i, newChar). Pour remplacer tous les
valeurs et pas seulement la première on utilise une expression régulière avec /g indicateur
(globale) New=String.replace(/charRecher/g, newChar).
La méthode replaceAll() : Similaire à replace() mais elle permet de remplacer tous et pas
seulement la première correspondance New = String.replaceAll(charRecher, newChar)
La méthode split() : Convertir une chaîne à un tableau. Array = String.split("…") à l’intérieur des
doubles code le séparateur si le séparateur introuvable ou seulement () le tableau renvoyé
contiendra la chaîne entière dans l'index [0] et si le séparateur est "", le tableau renvoyé sera un
tableau de caractères simples
Date :
Math :
Window :
Les expressions régulières :
JSON :
Syntaxe :
{
"cle" : "string",
"cle" : number,
"cle" : ["list",…],
"cle" :{"object":"value",..}
Manipulation JSON :
Pour traiter et afficher les données JSON dans les pages web, on a souvent besoin de les
convertir en objets Javascript et vice versa.
Analyse syntaxique (parse) : Convertir une chaîne de caractères en un objet na-
tif.
Linéarisation (stringification) : Convertir un objet natif en chaîne de caractères.
En Javascript, les méthodes utilisées sont :
JSON.parse permet de convertir JSON vers un objet javascript.
JSON.stringify permet de convertir des objets javascript vers des données JSON
Exemples :
DOM :