Chaînes JavaScript
Les chaînes servent à stocker du texte
Les chaînes sont écrites entre guillemets
Utilisation des Guillemets
Une chaîne JavaScript est composée de zéro ou plusieurs caractères écrits entre guillemets.
Exemple
let text = "John Doe"; Vous pouvez utiliser des guillemets simples ou doubles :
Exemple
let carName1 = "Volvo XC60"; // Guillemets doubles
let carName2 = 'Volvo XC60'; // Guillemets simples Remarque
Les chaînes créées avec des guillemets simples ou doubles fonctionnent de la même manière.
Il n'y a pas de différence entre les deux.
Guillemets à l'Intérieur des Guillemets
Vous pouvez utiliser des guillemets à l'intérieur d'une chaîne, tant qu'ils ne correspondent pas aux guillemets entourant la chaîne :
Exemple
let answer1 = "C'est bon";
let answer2 = "Il s'appelle 'Johnny'";
let answer3 = 'Il s\'appelle "Johnny"';
Chaînes de Modèle
Les modèles ont été introduits avec ES6 (JavaScript 2016).
Les modèles sont des chaînes entourées de backticks (`Ceci est une chaîne de modèle`).
Les modèles permettent d'utiliser des guillemets simples et doubles à l'intérieur d'une chaîne :
Exemple
let text = `On l'appelle souvent "Johnny"`;
Longueur de la Chaîne
Pour trouver la longueur d'une chaîne, utilisez la propriété intégrée length :
Exemple
let text = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
let length = text.length; Caractères d'Échappement
Comme les chaînes doivent être écrites entre guillemets, JavaScript ne comprendra pas cette chaîne :
let text = "Nous sommes les soi-disant "Vikings" du nord.";
La chaîne sera tronquée à "Nous sommes les soi-disant ".
Pour résoudre ce problème, vous pouvez utiliser un caractère d'échappement backslash .
Le caractère d'échappement backslash ( \ ) transforme les caractères spéciaux en caractères de chaîne :
| Code | Résultat | Description |
|---|---|---|
| \' | ' | Guillemets simples |
| \" | " | Guillemets doubles |
| \\ | \ | Backslash |
Exemples
\" insère un guillemet double dans une chaîne :
let text = "Nous sommes les soi-disant \"Vikings\" du nord."; \' insère un guillemet simple dans une chaîne :
let text= 'C\'est bon.';
\\ insère un backslash dans une chaîne :
let text = "Le caractère \\ s'appelle backslash.";
Six autres séquences d'échappement sont valides en JavaScript :
| Code | Résultat |
|---|---|
| \b | Retour arrière |
| \f | Saut de page |
| \n | Nouvelle ligne |
| \r | Retour chariot |
| \t | Tabulation horizontale |
| \v | Tabulation verticale |
Remarque
Les 6 caractères d'échappement ci-dessus ont été conçus à l'origine pour contrôler les machines à écrire, les télétypes et les télécopieurs. Ils n'ont aucun sens en HTML.
Casser de Longues Lignes
Pour des raisons de lisibilité, les programmeurs aiment souvent éviter les longues lignes de code.
Une manière sûre de casser une instruction est après un opérateur :
Exemple
document.getElementById("demo").innerHTML =
"Bonjour Dolly !"; Une manière sûre de casser une chaîne est d'utiliser l'addition de chaînes :
Exemple
document.getElementById("demo").innerHTML = "Bonjour " +
"Dolly !"; Chaînes de Modèle
Les modèles ont été introduits avec ES6 (JavaScript 2016).
Les modèles sont des chaînes entourées de backticks (`Ceci est une chaîne de modèle`).
Les modèles permettent des chaînes multilignes :
Exemple
let text =
`Le rapide
renard brun
saute par-dessus
le chien paresseux`;
Chaînes JavaScript en tant qu'Objets
Normalement, les chaînes JavaScript sont des valeurs primitives, créées à partir de littéraux :
let x = "John";
Mais les chaînes peuvent également être définies comme des objets avec le mot-clé new :
let y = new String("John"); Exemple
let x = "John";
let y = new String("John");
Ne créez pas d'objets String.
Le mot-clé new complique le code et ralentit la vitesse d'exécution.
Les objets String peuvent produire des résultats inattendus :
Lors de l'utilisation de l'opérateur == , x et y sont égaux :
let x = "John";
let y = new String("John"); Lors de l'utilisation de l'opérateur === , x et y ne sont pas égaux :
let x = "John";
let y = new String("John"); Notez la différence entre (x==y) et (x===y) .
(x == y) vrai ou faux ?
let x = new String("John");
let y = new String("John"); (x === y) vrai ou faux ?
let x = new String("John");
let y = new String("John"); Comparer deux objets JavaScript renvoie toujours faux .