Pour définir une variable qui contient une chaîne de caractères il faut encadrer le texte par des apostrophes (single quote) ou des guillemets (double quote) :
Les deux déclarations suivantes sont équivalentes :
Avec des « single quote » :
var maChaine='mon message';
Avec des « double quote » :
var maChaine="mon message";
Dans une chaîne de caractères les positions des caractères sont numérotées en commençant à 0. Ainsi le premier caractère est en position 0, le second en position 1, etc.
Dans un programme, il est possible d'accéder à chaque caractère de la chaîne en indiquant sa position comme dans l'exemple suivant :
var nom=prompt("Entrez vote prénom");
print("La première lettre de votre prénom est : ");
println(nom[0]);
La première lettre de la chaîne de caractères est numérotée 0. Pour y accéder nous écrivons : nom[0]
.
De façon générale, pour accéder au caractère qui figure à une position donnée, il faut écrire le nom de la variable qui contient la chaîne de caractères suivi du numéro de la position entre crochets.
Une chaîne de caractères est un objet du langage JavaScript, c'est à dire qu'en plus de stocker les caractères, une chaîne de caractères contient des propriétés et des méthodes.
Par exemple, il existe une propriété qui indique le nombre de caractères de la chaîne, cette propriété s'appelle length
.
Observez comment nous utilisons la propriété length
dans le programme suivant :
var nom=prompt("Entrez vote prénom");
print("Votre prénom comporte ");
print(nom.length);
println(" caractères.");
Pour accéder à la propriété length
de la chaîne de caractères nous écrivons : nom.length
Notez bien que nom.length
est un nombre.
De manière générale, pour accéder à une propriété d'un objet il faut écrire le nom de la variable qui contient l'objet et accoler un point suivi du nom de la propriété.
Ecrire un programme qui demande à l'utilisateur de saisir son prénom et qui affiche toutes les lettres l'une en dessous de l'autre.
La concaténation de deux (ou plusieurs) chaînes de caractères consiste tout simplement à les mettre bout à bout.
Cette action correspond à l'addition des chaînes comme dans l'exemple de programme ci-dessous :
var prenom=prompt("Entrez votre prénom :");
var nom=prompt("Entrez votre nom :");
println("Bonjour "+prenom+" "+nom+" !");
Pour afficher le message, plutôt que d'écrire plusieurs instructions print
successives, nous utilisons l'opération d'addition sur les chaînes de caractères : les différents éléments sont ainsi mis bout à bout.
Notez bien la présence d'espaces pour éviter d'avoir des mots collés.
Voici un « squelette de programme » :
var chaine="";
var n=parseInt(prompt("Nombre de répetitions ?"));
...
println(chaine);
Ce programme demande la saisie d'un nombre, la chaîne de caractères entrée par l'utilisateur est convertie en nombre entier en utilisant l'instruction parseInt
. C'est la variable n qui reçoit ce nombre.
Compléter le programme pour qu'il affiche le mot « ISN » le nombre de fois spécifié par l'utilisateur. Vous n'avez pas le droit d'utiliser les instuctions print
ou println
, vous devez faire en sorte que la variable chaine
contienne le texte final à afficher.
Dans le vocabulaire du programmeur JavaScript, une chaîne de caractères est un objet String
et comme nous l'avons indiqué plus haut, il contient plusieurs méthodes.
Ces méthodes permettent pour la plupart d'obtenir de nouvelles chaînes de caractères construites à partir de la chaîne initiale.
Supposons que maChaine
soit une variable de type chaîne de caractères, le tableau ci-dessous montre quelques méthodes :
Instruction | Signification |
maChaine.toLowerCase() | donne la chaîne avec toutes les lettres en minuscule |
maChaine.toUpperCase() | donne la chaîne avec toutes les lettres en majuscule |
maChaine.trim() | donne la chaîne avec les espaces éventuels en début et fin supprimés |
maChaine.substring(a,b) | donne la chaîne de caractères entre les positions a et b, position b exclue |
maChaine.indexOf("toto") | donne la position de la première occurrence de "toto" |
Testez les différentes méthodes indiquées dans le tableau ci-dessus.