Dans les exemples rencontrés jusque maintenant nous n'avons défini en Javascript que des variables dont la valeur était un nombre. Il est possible de manipuler des variables dont les valeurs sont autres que numériques : des textes, des images, des dates, des sons, etc. Comme cela a déjà été dit on parle alors de types des données. Les opérations qui peuvent être appliquées sur une variable diffèrent selon son type (c'est-à-dire, en Javascript, le type de la valeur à laquelle la variable est liée) .
Un type de données fréquemment utilisé en programmation est le type
chaîne de caractères car il permet la
manipulation de données textuelles. Ce type est appelé String
dans la
quasi-totalité des langages de programmation, y compris Javascript. On
abbréviera souvent la dénomination en chaîne.
La valeur d'une chaîne de caractères est constituée d'une séquence
de caractères. Les valeurs sont représentées par la suite
des caractères encadrée par des délimiteurs. Ces délimiteurs
peuvent en Javascript être des apostrophes '
ou des
guillemets "
, mais une chaîne commencée par un délimiteur
se termine par le même. Les délimiteurs ne font pas partie de la chaîne.
Voici quelques exemples de valeurs possibles pour des chaînes de caractères :
"ceci est une chaine de caractères" 'ceci aussi' "" "0n peut !_Mettre_! d3s c@r@ctère5 quelc0nqueS !%$^" '1234' "Il faut le même délimiteur ' pour finir et commencer une chaîne " ' on peut avoir des espaces en début et en fin, l'espace est un caractère ! '
La chaîne vide est le cas particulier de la chaîne qui ne contient aucun caractère.
langage
dont la valeur est
la chaîne de caractères "Javascript"
et qui contient le
texte J'apprends le javacript
.
La modification de la
valeur de la variable doit modifier le texte.
Les guillemets et les apostrophes peuvent être utilisés indifféremment, ce qui est utile pour les chaînes devant inclure ces caractères ' ou "
" C'est une chaîne de caractères." 'Ceci est une "chaîne" de caractères.'On peut également utiliser la barre oblique inverse pour indiquer qu'un guillemet ou une apostrophe doivent être pris pour leur valeur littérale, et non comme délimiteur:
"Ceci est une \"chaîne\" de caractères."
Les opérations qui s'appliquent sur une donnée
dépendent de ce type. Ainsi il est possible de faire sur des chaînes
de caractères des manipulation qui n'ont pas de sens avec des
nombres.
Par exemple les chaînes de caractères dispose d'une
propriété length
qui permet d'obtenir la longueur d'une
chaîne, c'est-à-dire le nombre de caractères qui la compose.
chaine
est une chaîne de
caractère chaine.length
est une expression dont la
valeur est la longueur de chaine
Cette propriété n'a cependant aucun sens pour une donnée de type numérique.
length
pour chacune
de ces variables.
Par ailleurs certaines opérations qui ont un sens sur les nombres
en ont un autre avec les chaînes de caractères. C'est le cas de
l'opérateur +
dont la sémantique change selon le
type des données auxquelles on l'applique.
L'opérateur +
permet de cocaténer des chaines de caractères, c'est à dire de les mettre "bout à bout".
chaine1
et chaine2
de type
chaîne de caractères que vous initialiserez et qui affiche le
résultat de l'expression
chaine1 + chaine2
.
Il est très important de bien faire la différence entre identificateurs des variables et chaînes de caractères. S'ils peuvent se ressembler dans leur forme : une séquence de caractères, les chaînes de caractères se caractérisent par la présence des délimiteurs. Mais la différence principale réside dans ce que réprésente l'un ou l'autre et est notamment visible au niveau de leur évaluation. Ainsi une chaîne de caractères est une expression constante qui s'évalue en elle-même, sa valeur est donc... une chaîne de caractères. Alors qu'un identificateur de variable s'évalue en la valeur associée à la variable : un nombre, une couleur ou même une chaîne de caractères, mais de manière fortuite.
var exemple = 42; document.writeln("valeur de la variable exemple : "); document.writeln(exemple); document.writeln("<br/>"); document.writeln('valeur de la chaine "exemple" : '); document.writeln("exemple"); document.writeln("<br/>");
script
au sein d'une page HTML).
var exemple = "un texte";et reprenez les deux questions précédentes.
Attention, la confusion entre identificateur de variable et chaîne de caractères est une source d'erreur courante chez des débutants en programmation, en particulier lorsque la variable a une valeur de type chaîne.
En javascript, les nombres sont en virgule flottante, mais ils peuvent avoir une partie décimale ou non.
S'ils n'ont pas de virgule, ils sont traités comme des entiers en base 10 dans l'intervalle
[-2 53 ; 2 53].
La représentation à virgule flottante est composée d'une partie entière et d'une partie décimale séparées par un point
( et non d'une virgule).On peut également utiliser la notation scientifique.
-1000 est un entier. 0 est un entier. 2534 est un entier. 144.006 est un nombre décimal à virgule flottante. -2.3 est un nombre décimal à virgule flottante. 1.95e-2 est un nombre décimal à virgule flottante en notation scientifique.Les chaînes peuvent être converties en valeurs numériques au moyen des fonctions
parseInt
et
parseFloat
, selon le type de valeur que l'on souhaite obtenir.
var sNum = "1.2345e3"; document.writeln("<p>"+parseFloat(sNum)+"</p>"); document.writeln("<p>"+parseInt(sNum)+"</p>"); document.writeln("<p>"+parseInt(parseFloat(sNum))+"</p>"); var fValue=parseFloat("1.45cm"); document.writeln("<p>"+fValue+"</p>"); var rValue=parseInt("33.08"); document.writeln("<p>"+rValue+"</p>");
Intégrer ces lignes de code entre deux balises script puis charger la page HTML et observer les résultats obtenus.
Les opérateurs arithmétiques sont les suivants:
+ addition; - soustraction; * multiplication; / division; % reste de la division(modulo);
prompt
Le type boolean peut prendre deux valeurs: true(vrai) ou false(faux).
Elles ne sont pas placées entre guillemets.
Un chapitre sera consacré ultérieurement au calcul booléen.