Technologies avancées du eLearning 2/TOUT ce qu'il y a à savoir
De GBLL, TAL, ALAO, etc.
< Cours:Technologies avancées du eLearning 2Révision datée du 15 janvier 2019 à 18:04 par Loizbek (discussion | contributions) (→Structures de contrôle)
Dans ce qui suit :
élément javascript à savoir
complément d'information
Variable et type
Dès qu'on a besoin de conserver une valeur on va créer une variable (qui est comme une boite à laquelle on a donné un nom)
En javascript: var nomVar ;
Toute variable a un type, qui décide de la manière dont le système va traiter l'information.
En javascript, on peut demander le type d'une variable : typeof nomVar ;
. (réponses possibles cf. diapo 9)
Quand une variable n'a pas le type attendu par le système, javascript va automatiquement essayer de la transtyper[1]. Par conséquent, vous devez toujours savoir quel type de variable vous manipulez.
Opérateurs
Javascript définit un ensemble d'opérateurs qui prennent deux opérandes et renvoient une valeur. Si les opérandes sont des symboles (ex : nom de variable, appel de fonction) ou autre expression, la valeur des opérandes est calculée avant que l'effet de l'opérateur ne lui soit appliqué.
Affectation
coteGauche = coteDroit; //coteGauche ← coteDroit
- le
coteGauche
est le nom de la variable qui va accueillir la valeur ; - le
coteDroit
est une constante/expression qui sera calculée avant que l'on ne stocke son résultat[2].
Opérateurs arithmétiques
Les opérateurs suivants prennent des nombres (Number
) en entrée et renvoient un nombre :
+
→ additionvar num = 1 + 4 ; // num vaut 5
;-
→ soustractionvar num = 3 - 2 ; // num vaut 1
;*
→ multiplicationvar num = 2 * 4 ; // num vaut 8
;/
→ divisionvar num = 3 / 2 ; // num vaut 1.5
;%
→ reste de la division entièrevar num = 5 % 2 ; // num vaut 1
.
Opérateur de concaténation
L'opérateur suivant prend une chaine de caractère (String
) en entrée et renvoie une chaine de caractère[3] :
+
→ concaténationvar phrase = "Bonjour"+ " " + "tout le monde" ; // phrase vaut "Bonjour tout le monde"
.
Opérateurs booléens
Les opérateurs suivants prennent des booléens (Boolean
) en entrée et renvoient un booléen :
||
→ ou logiquevar booleen = true || false ; // booleen vaut true
;&&
→ et logiquevar booleen = true && false ; // booleen vaut false
;!
→ non logiquevar booleen = !false ; // booleen vaut true
.
Les opérateurs suivants prennent n'importe quel type en entrée et renvoient un booléen[4] :
==
→ test d'égalitévar booleen = 1 == 2 ; // booleen vaut false
;!=
→ test de différencevar booleen = "1" != "2" ; // booleen vaut true
;
Fonction
Une fonction permet d'assimiler une séquence d'instructions à un nom et de renvoyer une valeur. Certaines fonctions sont définies par le langage javascript, d'autres peuvent être créées par le programmeur.
Déclaration de fonction
function nomDeLaFonction(liste,des,parametres){
//séquence d'instructions
return valeurRenvoyée ;
}
Attention, aucune instruction située après un return
n'est jamais exécutée.
Appel de fonction
Quand le système rencontre un appel de fonction, il va essayer de retrouver sa définition, faire correspondre les valeurs transmises aux paramètres et renvoyer un résultat (si la commande return
a été utilisée dans la déclaration de la fonction).
En javascript : nomDeLaFonction(liste,des,parametres);
Voir un exemple
function carre(nombre){
return nombre*nombre ;
}
var num = carre(3) + 1; //num vaut 10
num = carre(num) + carre(5); //num vaut 125, car 10×10 + 5×5 = 125
Structures de contrôle
if
On peut définir des structures de contrôle pour n'exécuter certaines instructions que dans certaines conditions.
if(expr){
//code à exécuter si expr est évaluée à true
}
else{
//code à exécuter si expr est évaluée à false
}
expr
est une expression booléenne (même si ce n'est pas un booléen) : l'expression sera évaluée, puis transtypée pour avoir un booléen.
Exemple
function pair(nombre){
return (nombre % 2 == 0) ; // renvoie un booléen
}
if(pair(2)){
console.log("Va s'afficher");
}
else{
console.log("Ne va pas s'afficher");
}
if(pair(3)){
console.log("Ne va pas s'afficher");
}
else{
console.log("Va s'afficher");
}
for
On peut également répéter des instructions jusqu'à ce qu'une condition soit réalisée, en utilisant une boucle.
for(/*initialisation*/;/*condition de bouclage*/;/*incrément*/){
//code à exécuter si condition de bouclage est évaluée à true
}
- L'exécution d'une telle boucle commencera toujours par l'initialisation,
- Si la condition de bouclage est respectée
- on exécutera le code situé entre les accolades,
- une fois l'accolade fermante atteinte on va exécuter l'incrément,
- Si la condition de bouclage est respectée
- on exécutera le code situé entre les accolades,
- une fois l'accolade fermante atteinte on va exécuter l'incrément,
- et ainsi de suite.
Voir un exemple
expr
est une expression booléenne (même si ce n'est pas un booléen) : l'expression sera évaluée, puis transtypée pour avoir un booléen. Il faut toujours s'assurer que la condition de bouclage peut changer jusqu'à être évaluée à false
, sinon le programme peut boucler à l'infini.
Exemple
for(var i=1;i<=10;i=i+1){
console.log(i);
}/*Va afficher :
1
2
3
4
5
6
7
8
9
10
*/
Objets et Classes
Les objets permettent sont des éléments structurants qui permettent de regrouper dans la même entité :
- des données (les attributs) ;
- des traitement (les méthodes).
JSON
La notation JavaScript Object Notation définit une manière synthétique d'écrire des instances d'objets :
Notes et références
- ↑ convertir une variable d'un type à un autre
- ↑ Quand une variable contient un objet, on ne copie pas la valeur mais une référence vers l'objet. Cela veut dire que :
class objet{ constructor(entier){ this.val=entier; } mod(entier){ this.val=entier; } } var obj1 = new objet(22), obj2 = obj1; obj2.mod(35) ; console.log(obj1); // affiche Object { val: 35 } // mais var int1 = 22, int2 = int1; int2 = 35 ; console.log(int1); // affiche 22
- ↑ Attention, il suffit d'une opérande
String
pour que+
transtype l'autre. - ↑ Attention au transtypage (cf. diapo 12)