Les types en Javascript
Le type en javascript fournit une information sur la valeur d’une variable et sur la façon de traiter cette variable. On ne traite pas les nombres et les lettres de la même manière, tout comme les litres et les kilogrammes ne sont pas utilisés de la même manière.
Une variable peut donc contenir plusieurs types de valeurs.
let nb = 2; // valeur numérique entière (type integer)
let chaine = "bonjour monde"; // chaîne de caractères (type string)
let nb2 = 2.7; // une valeur numérique flottante (type float)
let tab = new Array(1,2,3); // un tableau (type array)
let valeur = NULL; // absence de valeur (type null)
Le type string
Le type string concerne les chaines de caractères, il est déclaré en délimitant la chaîne par des guillemets ou des apostrophes.
let chaine1 = "une chaine de caractères"; // utilisation des guillemets
let chaine2 = 'une autre chaine de caractères'; // utilisation des apostrophes
Echappement des caractères
La présence de guillemets ou d’apostrophes dans le contenu peuvent provoquer des erreurs. La solution consiste à échapper les guillemets ou les apostrophes contenu dans le texte, avec le caractère d’échappement, la barre oblique inverse (symbole \).
alert("La police \"Arial\" est très utilisée "); //echappement avec des guillemets
alert('La police \'Arial\' est très utilisée '); // echappement avec des apostrophes
Le type booléen (boolean)
Un booléen est une valeur pouvant être soit vraie, soit fausse.
let vrai = true;
let faux = false;
let faux2 = FALSE;
Le mot clé true désigne un booléen vrai, et le mot clé false désigne un booléen faux. Ces deux mots clés sont insensible à la casse (vous pouvez les utiliser aussi bien en minuscules qu’en majuscules).
Le type entier (integer)
Le type entier correspond à un nombre entier. Ce nombre doit commencer par un chiffre de 1 à 9. S’il commence par un zero, il sera compris en base octale (011 en base octale vaut 9 en base décimale).
Les entiers négatifs sont précédés par le signe –
let nb1 = 17; // entier positif
let nb2 = -7; // entier négatif
Le type flottant (float ou double)
Le type flottant concerne les nombres à virgule. Pour déclarer un nombre flottant, il faut utiliser le point . et non la virgule. Vous pouvez aussi utiliser un e (majuscule ou minuscule) séparant l’exposant.
let nb1 = 1.7; // le point fait office de virgule
let nb2 = 3.45e2; // un autre nombre flottant, équivalent à 345
Attention : les nombres en JavaScript sont traités en binaire, ce qui permet d’avoir une précision de 14 à 15 chiffres significatifs. Mais dans certains cas, comme dans le calcul de certaines fractions, ce nombre ne représente pas forcément le nombre décimal. L’exemple ci-dessous le démontre.
alert(0.94-0.1); // affichera 0.9299999999999999
L’arrondi devra être utilisé pour formater correctement un nombre à l’affichage.
alert(Math.round((0.94 - 0.01)*100)/100); // affichera 0.93
Le type tableau (array)
Javascript propose une autre forme de variable: le tableau. Un tableau permet de regrouper et mémoriser plusieurs valeurs. Vous pouvez créer un tableau avec l’objet new Array(). Vous pouvez aussi utiliser la notation JSON {}.
Chaque valeur est séparé par une virgule , et repéré dans le tableau par rapport à une clé. La clé peut correspondre à une valeur numérique – le tableau est indexé – ou à une chaîne – le tableau est associatif.
Pour récupérer une valeur du tableau, on appelle la variable et on précise entre les crochets [ ] la valeur de la clé.
let tabi = new Array(3,12,58); // tableau indéxé
alert(tabi[0]); // affichera 3
Si vous utilisez le JSON, pour récupérer une valeur du tableau, on appelle la variable suivi d’un point .(syntaxe pointée) et du nom de la propriété.
let taba = {nom:"dany",age:30,taille:170); // tableau JSON
alert(taba.age); // affichera 30
En savoir plus sur les tableaux et leurs manipulations.
Conversion de variable
Php manipule les variables sans que vous ayez le souci de déclarer les types. Il interprete le type d’une variable en fonction de sa valeur et de son utilisation (voir les opérateurs).
alert("3" + 2); // affichera 32
Dans cet exemple la valeur « 3 » n’est pas interprétée comme un nombre.
Vous pouvez forcer la conversion d’une variable string en nombre avec la fonction Number() qui prend en paramètre la valeur string à convertir.
alert(Number("3") + 2); // affichera 5