Chaînes en JavaScript
En JavaScript, les chaînes sont utilisées pour stocker et manipuler le texte. Il n'existe pas de type distinct pour un seul caractère. Le format interne des chaînes est toujours UTF-16.
Une chaîne représente zéro ou plusieurs caractères qui sont écrits entre guillemets.
À propos des guillemets
Nous pouvons distinguer les guillemets simples, les guillemets doubles, et les backticks:
let single = 'single-quoted';
let double = "double-quoted";
let backticks = `backticks`;
Les guillemets doubles et simples sont identiques. En revanche, les backticks sont différents. Vous pouvez les utiliser pour intégrer n'importe quelle expression dans la chaîne en l'enveloppant dans ${…} comme suit:
L'un des avantages essentiels des backticks est qu'ils permettent à une chaîne de s'étendre sur plusieurs lignes comme ceci:
Mais, notez que les guillemets simples et les guillemets doubles ne fonctionneront pas dans ce cas. Si vous les utilisez en essayant d'appliquer plusieurs lignes, une erreur se produira:
let guestList = "Guests: // Error: Unexpected token ILLEGAL
* John ";
Les guillemets simples et doubles sont apparus plus tôt que les backticks. Ainsi, les backticks sont plus fonctionnels.
Vous pouvez également spécifier une “fonction de modèle” avant le premier backtick. La syntaxe ressemblera à ceci:
func `string`
En règle générale, la fonction func est appelée automatiquement. Elle reçoit à la fois la chaîne et les expressions intégrées les traitant. En utilisant cette fonctionnalité, vous pouvez rapidement mettre en œuvre un templating personnalisé. Cependant, les développeurs l'utilisent rarement en pratique.
Caractères spéciaux
Vous pouvez créer des chaînes multilignes avec des guillemets doubles et simples à l'aide de \n, comme cela:
Il existe d'autres caractères spéciaux moins courants.
Voici quelques-uns d'entre eux dans la liste ci-dessous:
- \', \" ces caractères spéciaux sont utilisés pour les guillemets
- \r - retour à la ligne. Ce caractère n'est plus utilisé seul. Une combinaison de deux caractères \r\n est utilisée pour représenter un saut de ligne dans les fichiers texte Windows.
- \\ - backslash
- \t - tabulation
- \xXX - caractère unicode avec un unicode hexadécimal particulier XX
- \uXXXX - c'est le symbole unicode avec le code hexadécimal XXXX en encodage UTF-16. Il doit comporter exactement 4 chiffres.
Voici des exemples avec des codes unicode:
Prenez en compte que tous les caractères spéciaux commencent par un backslash. Il est aussi connu comme un “caractère d'échappement”.
Vous pouvez également l'utiliser si vous souhaitez mettre un guillemet dans la chaîne.
Voici un exemple:
Aussi, considérez que le backslash est principalement utilisé pour corriger la lecture de la chaîne par JavaScript, après quoi il disparaît. Dans la mémoire de la chaîne, vous ne pouvez trouver aucun \ . Mais lorsque vous avez besoin d'afficher un vrai backslash dans la chaîne, vous devez le doubler comme dans cet exemple:
La Longueur de la Chaîne
La propriété length est utilisée pour trouver la longueur d'une chaîne:
Notez que \n est un caractère spécial. Par conséquent, la longueur doit être 7.
Parfois, les développeurs font une faute de frappe sur cette propriété en appelant str.length() au lieu de simplement str.length. Cela ne fonctionnera pas.
Accéder aux Caractères
Les crochets carrés[pos] sont principalement utilisés pour obtenir un caractère à une position [pos]. Vous pouvez le faire en appelant également la méthode str.charAt(pos). Le tout premier caractère doit commencer à partir de zéro:
Les développeurs modernes préfèrent utiliser les crochets carrés, tandis que le charAt est rarement utilisé
Les Chaînes sont Immuables
Il n'est pas possible de modifier les chaînes en JavaScript. Regardez cet exemple pour vous assurer que cela ne fonctionnera pas:
La pratique courante consiste à créer une nouvelle chaîne en l'assignant à str au lieu de l'ancienne comme ceci:
Changement de Cas
Nous pouvons distinguer deux méthodes de changement de cas. Les voici:
Dans un autre scénario, si un seul caractère doit être en minuscule, utilisez cette méthode:
Recherche d'une Sous-chaîne
Découvrons les moyens de rechercher une sous-chaîne à l'intérieur d'une chaîne.
str.indexOf
Il s'agit de la première méthode qui est utilisée pour rechercher le substr dans str. Elle commence à partir de la position particulière pos et retourne cette position lorsque la correspondance est trouvée, ou -1, dans le cas où rien n'est trouvé.
Jetons un œil à l'exemple suivant:
str.lastIndexOf(substr, position)
Cette méthode recherche de la fin d'une chaîne vers le début. Les occurrences seront répertoriées dans l'ordre inverse.
Notez une légère difficulté avec indexOf à l'intérieur du test if. Il ne peut pas être mis dans if de cette façon:
Il est donc nécessaire de vérifier le -1, comme suit:
Includes, startsWith, endsWith
La méthode plus récente str.includes(substr, pos) est capable de retourner true/false en fonction de la présence ou non du substr dans la str.
Agissez comme dans l'exemple, si vous avez besoin de tester la correspondance sans avoir besoin de sa position en même temps:
Le second argument de str.includes est la position à partir de laquelle vous commencez la recherche. Voici un exemple:
Obtenir une Sous-chaîne
JavaScript comprend trois méthodes pour obtenir une sous-chaîne: substring, substr, et slice.
str.slice(start [, end])
Cette méthode est utilisée pour retourner la partie de la chaîne de start à end.
Par exemple:
Si un second argument est absent, le slice ira jusqu'à la fin, comme ceci:
Pour start/end vous pouvez également utiliser des valeurs négatives.
Par exemple:
str.substring(start [, end])
Cette méthode est utilisée pour retourner la partie de la chaîne entre le start et le end.
Il ressemble beaucoup à slice. La différence la plus notable est qu'avec cette méthode, le start peut être supérieur au end.
Par exemple:
str.substr(start [, length])
Cette méthode retourne la partie de la chaîne à partir du start, avec une longueur déterminée. Il diffère des méthodes précédentes. Cette méthode vous aidera à spécifier la length au lieu de la position de fin.
Par exemple:
Le premier argument peut être négatif pour compter à partir de la fin:
Comparaison des Chaînes
Il est essentiel de savoir que les chaînes doivent être comparées caractère par caractère dans l'ordre alphabétique.
Il est préférable de prendre également en compte les caractéristiques suivantes:
- Une minuscule est plus grande qu'une majuscule, comme ceci:
Comparison in javascript stringsconsole.log('a' > 'Z'); // true
- Les lettres comportant des signes diacritiques sont considérées comme étant “hors de l'ordre”.
Par exemple:
Maintenant, commençons à examiner la représentation interne des chaînes en JavaScript.
En JavaScript, nous codons toutes les chaînes à l'aide de UTF-16. Cela signifie que chacun des caractères a un code numérique approprié.
str.codePointAt(pos)
Il est utilisé pour retourner le code pour le caractère à la position pos :
String.fromCodePoint(code)
Crée un caractère par le code numérique:
Les caractères Unicode peuvent également être ajoutés par leurs codes en appliquant \u suivi du code hexadécimal.
Par exemple:
Regardons les caractères avec les codes 65..220 et faisons une chaîne d'eux:
Ici, vous pouvez constater que les caractères en majuscules vont d'abord, puis plusieurs caractères spéciaux, et enfin, Ö à la fin de la sortie.
Heure du Quiz : Testez Vos Compétences!
Prêt à relever le défi de ce que vous avez appris ? Plongez dans nos quiz interactifs pour approfondir votre compréhension et renforcer vos connaissances de manière ludique.