Les types primitifs

JavaScript est un language « faiblement typé », contrairement à d’autres languages de programmation « fortement typés ». Cela signifie qu’il ne faut pas lui expliquer qu’un élément doit être considéré comme un nombre ou une chaine de texte, il le « devine » tout seul.

On appelle « types primitifs » les types de données qui semblent assez évidents :

  • les nombres (number)
  • les chaines de caractères (string)
  • undefined
  • null
  • Les valeurs booléennes (true et false)

Les nombres

Le type number représente toutes les valeurs numériques possibles. JavaScript est capable de résoudre les opérations mathématiques sans trop de soucis.

Les nombres décimaux sont écrits avec un point et pas une virgule :
12.85 + 34.45

OpérateurDescriptionUsageRésultat
+Addition2+24
-Soustraction4-22
*Multiplication2*510
/Division10/52
%Calculer le reste d’une division12%52

PEMDAS

L’ordre des opérations mathématiques s’applique ici : d’abord les parenthèses, puis les exposants, suivi des multiplications, des divisions, des additions et enfin des soustractions.

testez 2*2-2 et 2*(2-2)

Il existe quelques cas particuliers autour des nombres : infinity et -infinity qui représentent une valeur infinie positive ou négative (plutôt rarement utilisé) et NaN (not a number) qui est plus fréquent et qui intervient quand on essaie de traiter des valeurs non numériques comme des nombres. Essayons de multiplier une phrase par deux : "Hello World"*2 dans la console, nous aurons NaN comme réponse.

Les chaînes

Tout ensemble de caractères placés entre guillemets simples ou doubles est une « chaîne » (string en JavaScript).

Les guillemets simples ou doubles fonctionnent de manière identique du moment que vous les appariez correctement. Une chaine utilisant des guillemets doubles pour contenir des simples et vice-versa.

console.log("L'amour est dans le pré");

console.log('Elle nous dit "fuyez" juste avant de tomber');

Les chaînes ont une propriété très importante : elles peuvent être assemblées entre elles, on parle de concaténation. On peut réunir deux chaînes avec le signe + qui, selon son contexte, fait double office, à la fois pour les additions et la concaténation. Dès qu’il y a une chaîne de caratères, JavaScript va opter pour une concaténation plutôt qu’une addition.

"Hello world" + 2

undefined

JavaScript considère come undefined tout ce qui n’a pas été défini par lui-même ou par nous, et qui n’a donc aucun sens ni aucine valeur.

null

null sera plutôt utilisé pour un élément qui est défini mais qui n’a aucune valeur. On peut par exemple définir une variable avec null en attendant qu’elle reçoive une valeur

Booléens

Les valeurs booléennes sont vrai et faux : true et false

Si l’on demande à JavaScript de comparer deux valeurs et qu’elles sont égales, il renverra la valeur true et, dans le cas contraire, la valeur false. Testons cela dans la console :

2+2==4;

2+2==5;

(Nous verrons dans le chapitre suivant qu’en JavaScript, le signe = sert à attribuer une valeur à quelque chose et le signe == sert à comparer 2 valeurs.)