Sommaire
- Quelques éléments Javascript
- Les types
- Accéder aux éléments d’un tableau
- Taille d’un tableau
- Les opérateurs de comparaison
- Les conditions
- Les boucles (avancé)
- Les fonctions (avancé)
- L’essentiel de la librairie Math
- La console de débogage
Quelques éléments Javascript
Les types
Il existe plusieurs types de données en Javascript. Les plus courants sont :
- Les booléens
- Les nombres
- Les chaînes de caractères
- Les objets
- Les fonctions
Les booléens
Les booléens sont des valeurs qui peuvent être soit true soit false.
let isTrue = true;
let isFalse = false;
Les booléens sont souvent utilisés pour les conditions.
Conversion en booléen
let num = 42;
let bool = Boolean(num);
Dans cet exemple, bool contiendra true. En Javascript, les valeurs suivantes sont considérées comme false :
false0''(chaîne de caractères vide)nullundefinedNaN
Toutes les autres valeurs sont considérées comme true.
Les nombres
Les nombres en Javascript sont des valeurs numériques.
let num1 = 42;
let num2 = 3.14;
let num3 = 1e3; // 1000
let num4 = 0b1010; // 10 en binaire
let num5 = 0o12; // 10 en octal
let num6 = 0xA; // 10 en hexadécimal
let num7 = NaN; // Not a Number
let num8 = Infinity;
let num9 = -Infinity;
Les opérations mathématiques sont possibles en Javascript.
Les chaînes de caractères
Concaténation
let str1 = 'Hello';
let str2 = 'World';
let str3 = str1 + ' ' + str2;
str3 contiendra Hello World.
Autre méthode, la chaine dynamique (template string). Elle permet d’insérer des expression directement dans la chaîne.
Par exemple :
let str1 = 'Hello';
let str2 = 'World';
let str3 = `${str1} ${str2}`;
Longueur d’une chaîne
let str = 'Hello World';
let length = str.length;
Dans cet exemple, length contiendra 11.
Recherche dans une chaîne
let str = 'Hello World';
let index = str.indexOf('World');
Dans cet exemple, index contiendra 6.
Autre méthode pour savoir si une chaîne contient une sous-chaîne :
let str = 'Hello World';
let contains = str.includes('World');
Dans cet exemple, contains contiendra true.
Extraction d’une sous-chaîne
let str = 'Hello World';
let subStr = str.substring(6, 11);
Dans cet exemple, subStr contiendra World.
Remplacement
let str = 'Hello World';
let newStr = str.replace('World', 'Synapps');
Dans cet exemple, newStr contiendra Hello Synapps.
Remplacement multiple
let str = 'Hello World';
let newStr = str.replaceAll('o', 'a');
Dans cet exemple, newStr contiendra Hella Warld.
Conversion en majuscule/minuscule
let str = 'Hello World';
let upperStr = str.toUpperCase();
let lowerStr = str.toLowerCase();
Dans cet exemple, upperStr contiendra HELLO WORLD et lowerStr contiendra hello world.
Suppression des espaces en début et fin de chaîne
let str = ' Hello World ';
let trimmedStr = str.trim();
Dans cet exemple, trimmedStr contiendra Hello World.
Découpage d’une chaîne
let str = 'Hello World';
let parts = str.split(' ');
Dans cet exemple, parts contiendra un tableau avec Hello et World.
Conversion en nombre
let str = '42';
let num = Number(str);
Dans cet exemple, num contiendra 42.
Conversion en booléen
let str = 'test';
let bool = Boolean(str);
// > true
let boolTrue = Boolean(10);
// > true
let boolFalse = Boolean(0);
// false
Les tableaux
Les tableaux sont des objets qui permettent de stocker plusieurs valeurs. Ils sont définis en utilisant des crochets []. Il n’est pas nécessaire de définir le type des éléments du tableau, un tableau peut contenir des éléments de types différents.
let array = [1, 'two', true, 4.5];
Accéder aux éléments d’un tableau
let array = [1, 2, 3];
let firstElement = array[0]; // 1
let secondElement = array[1]; // 2
let thirdElement = array[2]; // 3
Taille d’un tableau
let array = [1, 2, 3];
let size = array.length; // 3
Ajouter un élément à un tableau
Ajouter un élément à la fin du tableau :
let array = [1, 2, 3];
array.push(4);
// array est maintenant [1, 2, 3, 4]
Il est aussi possible d’ajouter un élément au début du tableau :
let array = [1, 2, 3];
array.unshift(0);
// array est maintenant [0, 1, 2, 3]
Il est aussi possible d’ajouter plusieurs éléments à la fois :
let array = [1, 2, 3];
array.push(4, 5, 6);
// array est maintenant [1, 2, 3, 4, 5, 6]
Supprimer un élément d’un tableau
let array = [1, 2, 3, 4];
array.pop();
// array est maintenant [1, 2, 3]
let array = [1, 2, 3, 4];
array.shift();
// array est maintenant [2, 3, 4]
Les opérateurs de comparaison
Les opérateurs de comparaison permettent de comparer deux valeurs.
==: égal à===: strictement égal à (même type et même valeur)!=: différent de!==: strictement différent de (même type et même valeur)<: inférieur à<=: inférieur ou égal à>: supérieur à>=: supérieur ou égal à
Quelques exemples d’utilisation :
let a = 5;
let b = '5';
console.log(a == b); // true
console.log(a === b); // false
console.log(a != b); // false
console.log(a !== b); // true
console.log(a < 10); // true
console.log(a <= 5); // true
console.log(a > 3); // true
console.log(a >= 5); // true
La différence entre == et ===
La différence entre == et === est que == compare les valeurs en effectuant une conversion de type si nécessaire, tandis que === compare les valeurs sans conversion de type.
Les opérateurs logiques
Les opérateurs logiques permettent de combiner plusieurs conditions.
&&: et logique||: ou logique
Quelques exemples d’utilisation :
let a = 5;
let b = 10;
console.log(a < 10 && b > 5); // true
console.log(a < 10 || b < 5); // true
On peut aussi utiliser l’opérateur de négation ! pour inverser une condition.
let a = 5;
console.log(!(a < 10)); // false
Les conditions
Les conditions permettent de savoir si une certaine condition est vraie ou fausse et en fonction du résultat, d’exécuter un certain code.
Les conditions simples
La structure de base d’une condition est la suivante :
if (condition) {
// code à exécuter si la condition est vraie
} else {
// code à exécuter si la condition est fausse
}
Par exemple :
if (context.value === 0) {
return 'zero';
} else {
return 'not zero';
}
Les conditions ternaires
Une condition ternaire est une forme abrégée de la structure if…else. Elle permet d’écrire une condition en une seule ligne.
condition ? valeur_si_vrai : valeur_si_faux;
Par exemple :
return context.value === 0 ? 'zero' : 'not zero';
les conditions multiples
La structure de base d’une condition multiple est la suivante :
if (condition1) {
// code à exécuter si la condition1 est vraie
} else if (condition2) {
// code à exécuter si la condition2 est vraie
} else {
// code à exécuter si aucune des conditions n'est vraie
}
Par exemple :
if (context.value === 0) {
return 'zero';
} else if (context.value === 1) {
return 'one';
} else {
return 'other';
}
ça peut devenir difficile à lire si on a beaucoup de conditions. Dans ce cas, il est préférable d’utiliser l’instruction switch.
switch (expression) {
case valeur1:
// code à exécuter si l'expression est égale à valeur1
break;
case valeur2:
// code à exécuter si l'expression est égale à valeur2
break;
default:
// code à exécuter si aucune des valeurs n'est égale à l'expression
}
Par exemple :
switch (context.value) {
case 0:
return 'zero';
case 1:
return 'one';
default:
return 'other';
}
Les boucles (avancé)
Il est parfois nécessaire de répéter une série d’instructions plusieurs fois. Pour cela, Javascript propose plusieurs types de boucles.
La boucle for
La boucle for permet de répéter un bloc de code un certain nombre de fois.
for (let i = 0; i < 5; i++) {
console.log(i);
}
Le code ci-dessus affichera les nombres de 0 à 4 dans la console.
La première partie de la boucle let i = 0 initialise la variable i à 0. La deuxième partie i < 5 est la condition qui doit être vraie pour que la boucle continue. La troisième partie i++ incrémente la variable i de 1 à chaque itération.
La boucle while
La boucle while permet de répéter un bloc de code tant qu’une condition est vraie.
let i = 0;
while (i < 5) {
console.log(i);
i++;
}
La boucle do…while
La boucle do…while est similaire à la boucle while, mais elle garantit que le bloc de code est exécuté au moins une fois.
let i = 0;
do {
console.log(i);
i++;
} while (i < 5);
La boucle for…in
La boucle for…in permet de parcourir les propriétés d’un objet.
```javascriptlet obj = {a: 1, b: 2, c: 3}; for (let key in obj) { console.log(key + ‘: ‘ + obj[key]); }
### La boucle for...of
La boucle for...of permet de parcourir les éléments d'un tableau ou d'une chaîne de caractères.
```javascript
let array = [1, 2, 3];
for (let value of array) {
console.log(value);
}
Les fonctions (avancé)
Il est possible de définir des fonctions en Javascript. Les fonctions sont définies en utilisant le mot-clé function.
function maFonction(param1, param2) {
// Corps de la fonction
return param1 + param2;
}
on peut aussi les définir en utilisant une expression de fonction fléchée :
const maFonction = (param1, param2) => {
// Corps de la fonction
return param1 + param2;
}
L’avantage des fonctions fléchées est qu’elles sont plus concises et qu’elles n’ont pas leur propre contexte this.
L’essentiel de la librairie Math
La librairie Math permet de faire des opérations mathématiques courantes.
Math.PI; // 3.141592653589793
Math.sqrt(16); // 4
Math.pow(2, 3); // 8
Math.random(); // Nombre aléatoire entre 0 et 1
Math.floor(4.7); // 4
Math.ceil(4.3); // 5
Math.round(4.5); // 5
La console de débogage
La console de débogage permet d’afficher des messages dans la console de Synapps. Cela peut être utile pour déboguer des scripts.
console.log('Message de débogage');
console.error('Message d\'erreur');
console.warn('Message d\'avertissement');
console.info('Message d\'information');
console.debug('Message de débogage détaillé');
