0% ont trouvé ce document utile (0 vote)
37 vues8 pages

04 JS Objets Chaines

Le document présente les chaînes de caractères en JavaScript, y compris leur création, lecture, et méthodes associées. Il aborde également les littéraux de gabarits, permettant d'intégrer des variables dans des chaînes, ainsi que diverses méthodes de l'objet String pour la manipulation des chaînes. Enfin, il traite de la comparaison des chaînes, en mettant l'accent sur l'utilisation de la méthode localeCompare pour gérer les caractères accentués.

Transféré par

gillesbrouillette66
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
37 vues8 pages

04 JS Objets Chaines

Le document présente les chaînes de caractères en JavaScript, y compris leur création, lecture, et méthodes associées. Il aborde également les littéraux de gabarits, permettant d'intégrer des variables dans des chaînes, ainsi que diverses méthodes de l'objet String pour la manipulation des chaînes. Enfin, il traite de la comparaison des chaînes, en mettant l'accent sur l'utilisation de la méthode localeCompare pour gérer les caractères accentués.

Transféré par

gillesbrouillette66
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

04.

Programmation JavaScript

Objets chaînes de caractères

1
Chaînes de caractères : instructions de bases et propriété length
Une chaîne de caractères JavaScript est une suite de caractères associée au type primitif string
Les caractères sont codés en interne sur deux octets (UTF-16)

 Création
s = "aACdeéEÉ'123\";+"; // caractères délimités par des guillemets doubles
s = 'aACdeéEÉ\'123";+'; // caractères délimités par des guillemets simples
s = `aACdeéEÉ'123";+`; // littéral de gabarit délimité par des accents graves

 Lecture d'un caractère d'une chaîne avec un indice (comme pour un tableau)
c = s[4]; // c contient le caractère "e" de la chaîne précédente

 La longueur d'une chaîne de caractères est obtenue avec la propriété length


Pour cela, JavaScript convertit automatiquement le type primitif string en objets String

 Parcours d'une chaîne avec les boucles for, for in ou for of (comme pour un tableau)
for (let i = 0; i < s.length; i++) console.log(s[i]);
for (let i in s) console.log(s[i]);
for (let c of s) console.log(c);

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String
2
Chaînes de caractères : littéraux de gabarits (template literals)
Le littéral de gabarit est une fonctionnalité ES6
Un littéral de gabarit est délimité par des caractères "accent grave" (` `)

→ Il permet d'intégrer des variables ou des expressions variables dans une chaîne de caractères
Ces variables et expressions variables sont déclarées entre deux accolades précédées du dollar (${})
leur substitution se fera à l'exécution du littéral de gabarit.

Par exemple,
au lieu d'écrire :
let a = 2, b = 3;
console.log("Date et heure : " + (new Date().toLocaleString()) + ".");
console.log("Le produit de " + a + " par " + b + " est " + (a * b) + ".");

avec des littéraux de gabarits, on écrira :


console.log(`Date et heure : ${ new Date().toLocaleString() }.`);
console.log(`Le produit de ${a} par ${b} est ${a * b}.`);

→ Les littéraux de gabarits peuvent être couplés avantageusement avec des gabarits HTML qui seraient
créés par exemple avec des balises <template>

3
Méthodes de l'objet String
Une chaîne de caractères est convertie automatiquement et temporairement en un objet String
lorsqu'on souhaite lui appliquer une méthode de l'objet String

Méthodes usuelles de recherche :

Méthode Exemple Retour

.startsWith(chaine) / .endsWith(chaine) b = "abcdefgh".endsWith("fgh") b = true


b = "abcdefgh".endsWith("fih") b = false

.includes(chaine, indiceDebut) b = "abcdefgh".includes("cde") b = true


b = "abcdefgh".includes("cde", 3) b = false

.indexOf(chaine, indiceDebut) n = "abcdefgh".indexOf("cde") n=2


n = "abcdefgh".indexOf("cde", 3) n = -1

.lastIndexOf(chaine, indiceFin) n = "abcdecdh".lastIndexOf("cd") n=5


indiceFin = dernier caractère pouvant n = "abcdecdh".lastIndexOf("cd", 4) n=2
être le début de la chaîne à trouver

.search(expReg | chaine) n = "ab12d12dh".search("12d") n=2


chaine est convertie en expReg n = "ab12d12dh".search("2.1") n=3

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String
4
Méthodes de l'objet String
Méthodes usuelles d'extraction :

Méthode Exemple Retour

.charAt(indice) c = "abcdefgh".charAt(4) c = "e"


c = "abcdefgh".charAt(8) c = ""

.substring(indiceDebut, indiceFin) s = "abcdefgh".substring(2, 6) s = "cdef"


le caractère à indiceFin est exclu s = "abcdefgh".substring(2) s = "cdefgh"
s = "abcdefgh".substring(8) s = ""

.slice(indiceDebut, indiceFin) s = "abcdefgh".slice(2, 6) s = "cdef"


le caractère à indiceFin est exclu s = "abcdefgh".slice(2) idem substring s = "cdefgh"
s = "abcdefgh".slice(8) s = ""

un indice négatif indique un s = "abcdefgh".slice(-5) s = "defgh"


décalage à partir de la fin de la s = "abcdefgh".slice(-5, 6) s = "def"
chaîne s = "abcdefgh".slice(-5, -3) s = "de"

5
Méthodes de l'objet String
Méthodes usuelles de conversion en chaîne :

Méthode Exemple Retour

.toLowercase() s = "aBcD12:;ÀÉÈÊÏÔÙÛàéèêïôùû".toLowerCase() s = "abcd12:;àéèêïôùûàéèêïôùû"

.toUpperCase() s = "aBcD12:;ÀÉÈÊÏÔÙÛàéèêïôùû".toUpperCase() s = "ABCD12:;ÀÉÈÊÏÔÙÛÀÉÈÊÏÔÙÛ"

Méthodes usuelles de recadrage :

Méthode Exemple Retour

.trim() s = " 123 ".trim() s = "123"


.trimStart() s = " 123 ".trimStart() s = "123 "
.trimEnd() s = " 123 ".trimEnd() s = " 123"

.padStart(longueurChaine, chaine) s = "123".padStart(8, "0") s = "00000123"


.padEnd(longueurChaine, chaine) s = "123".padEnd(8, "0") s = "12300000"

6
Méthodes de l'objet String
Méthodes usuelles de substitution :

Méthode Exemple Retour

.replace(expReg | chaine, s = "abcdefcd".replace("cd", "123") s = "ab123efcd"


chaine | fonction)

.replaceAll(expReg | chaine, s = "abcdefcd".replaceAll("cd", "123") s = "ab123ef123"


chaine | fonction)

Méthode usuelle de conversion en tableau :

Méthode Exemple Retour

.split(expReg | chaine) t = "ab;cd;ef;gh".split(";") t = ["ab","cd","ef","gh"]


séparateur expReg ou chaine t = "abcdefgh".split("") t = ["a","b","c","d","e","f","g","h"]

7
Comparaison de chaînes de caractères
Convertir au préalable les deux chaînes dans la même casse (minuscule ou majuscule)

En l'absence de caractères accentués :


"ab" < "aba"
"ab" < "ac"
"ca" > "ac"

Avec ou sans caractères accentués : méthode localeCompare


r = "ab".localeCompare("ab") // r = 0
r = "ab".localeCompare("aba") // r < 0 (ab avant aba)
r = "ab".localeCompare("ac") // r < 0 (ab avant ac)
r = "ca".localeCompare("ac") // r > 0 (ca après ac)
r = "ée".localeCompare("eé") // r > 0 (ée après eé)
r = "ée".localeCompare("ef") // r < 0 (ée avant ef)

Vous aimerez peut-être aussi