Les Strings (chaînes de caractères)
26 pages
Français

Les Strings (chaînes de caractères)

Le téléchargement nécessite un accès à la bibliothèque YouScribe
Tout savoir sur nos offres
26 pages
Français
Le téléchargement nécessite un accès à la bibliothèque YouScribe
Tout savoir sur nos offres

Description

Les Strings ne sont structurellement ni plus ni moins qu’une forme spéciale d’Array d’éléments de même nature et même taille (des valeurs entières non-signées représentées sur 16 bits) avec des propriétés et méthodes en plus ou en moins dans leurs constructeurs et leurs prototypes, par rapport aux Arrays. Les éléments y sont indexés, ordonnés dans le même ordre que dans la chaîne saisie, et numérotés à partir de l’indice 0 (zéro). Voici ce qu’on obtient à la console.

Informations

Publié par
Publié le 24 mars 2019
Nombre de lectures 0
Langue Français

Extrait

Les Strings (Chaînes de Caractères) P o u r D é b u t a n t JAVA S C R I P T(Programmation Internet)X X I IVO L .
J.B. Dadet DIASOLUKA Luyalu Nzoyifuanga +243 - 851278216 - 899508675 - 995624714 - 902263541 -813572818diasfb@mail2world.com
LES STRINGS :
LesStringssont structurellement ni plus ni moins ne qu’une forme spéciale d’Arrayd’éléments de même nature et même taille (des valeurs entières non-signées représentées sur 16 bits) avec des propriétés et méthodes en plus ou en moins dans leurs constructeurs et leurs prototypes, par rapport aux Arrays. Les éléments y sont indexés, ordonnés dans le même ordre que dans la chaîne saisie, et numérotés à partir de l’indice 0 (zéro). Voici ce qu’on obtient à la console.
>> Object.getOwnPropertyDescriptors("Dias") Object { 0: {…}, 1: {…}, 2: {…}, 3: {…}, length: {…} }
==========
>> Object.getOwnPropertyDescriptors(["D","i","a","s"]) Object { 0: {…}, 1: {…}, 2: {…}, 3: {…}, length: {…} }
====================
>> Object.getOwnPropertyDescriptors("Dias") {…} 0: Object { value: "D", writable: false, enumerable: true, … } 1: Object { value: "i", writable: false, enumerable: true, … } 2: Object { value: "a", writable: false, enumerable: true, … } 3: Object { value: "s", writable: false, enumerable: true, … } length: Object { value: 4, writable: false, enumerable: false, … }
DIASOLUKA Nz. Luyalu <prototype>: Object { … }  __deïneGetter__: function __deïneGetter__()  __deïneSetter__: function __deïneSetter__()  __lookupGetter__: function __lookupGetter__()  __lookupSetter__: function __lookupSetter__()  constructor: function Object()  hasOwnProperty: function hasOwnProperty()  isPrototypeOf: function isPrototypeOf()  propertyIsEnumerable: function propertyIsEnumerable()  toLocaleString: function toLocaleString()  toSource: function toSource()  toString: function toString()  valueOf: function valueOf()
==========
>> Object.getOwnPropertyDescriptors(["D","i","a","s"]) {…} 0: Object { value: "D", writable: true, enumerable: true, … } 1: Object { value: "i", writable: true, enumerable: true, … } 2: Object { value: "a", writable: true, enumerable: true, … } 3: Object { value: "s", writable: true, enumerable: true, … } length: Object { value: 4, writable: true, enumerable: false, … }
<prototype>: Object { … }  __deïneGetter__: function __deïneGetter__()  __deïneSetter__: function __deïneSetter__()  __lookupGetter__: function __lookupGetter__()  __lookupSetter__: function __lookupSetter__()  constructor: function Object()  hasOwnProperty: function hasOwnProperty()  isPrototypeOf: function isPrototypeOf()  propertyIsEnumerable: function propertyIsEnumerable()  toLocaleString: function toLocaleString()  toSource: function toSource()  toString: function toString()  valueOf: function valueOf()
Exemple dans un code :
<scripttype="text/javascript"> varstr="Un chasseursachantchassersans son chien est un bon chasseur"; console.log("str= ",str);
console.log("str.slice(5,10)",str.slice(5,10)); console.log("str= ",str);
console.log("str.ïll(5,10)",str.îll(5,10)); console.log("str= ",str); </script>
str = Un chasseur sachant chasser sans son chien est un bon chasseur test.html:3:4
str.slice(5,10) asseu
Les Strings
test.html:5:4
-2/26-
JavaScript
Sunday 24 March 2019 (18:49:39 a3/p3)
DIASOLUKA Nz. Luyalu str = Un chasseur sachant chasser sans son chien est un bon chasseur test.html:6:4
TypeError: str.ïll is not a function
test.html:8:34
JavaScript
Les chaînes de caractères en JavaScript sont immuables, c’est-à-dire que contrairement au langage C, en JavaScript une fois une chaîne créée, elle ne peut plus être modiïée.
Mais la lecture des parties de la chaîne, la concaténation et le remplacement via une «expression régulière» restent possibles, ce qui en fait ne modiïent pas la partie du texte déjà saisi (sauf avec l’expression régulière). Mais aussi on peut saisir une nouvelle chaîne dans la même variable (mais qui naturellement n’aura pas nécessaireent la même taille), mais cela nous permet une astuce de contourner cette restriction : la modiïcation/mutation d’une chaîne [de caractères] dans JavaScript.
À la console du browser :
Dans un code :
Les Strings
-3/26-
Sunday 24 March 2019 (18:49:39 a3/p3)
DIASOLUKA Nz. Luyalu
<scripttype ="text/javascript">"use strict"; lets ="DiaHoluka"; console.log(s);
leta = Array.from(s); console.log(a);
a[3] ="s" console.log(a);
s = a.join()  console.log(s); s = s.replace(/,/g,e =>""); console.log(s); </script>
JavaScript
Si on ne maîtrise pas les «expressions régulières» ou si on ne veut pas les utiliser, on peut bien sûr mettre ce processus dans une fonction :
<scripttype ="text/javascript">"use strict";
// Contrairement aux fonctions traditionnelles, // une fonction fléchée DOIT être définie // AVANT sa première utilisation.
constsreplace= (str,pos,substr) => { consta = Array.from(str); a[pos]=substr; returna.join().replace(/,/g,e =>""); }
consts ="DiaHoluka"; console.log(s);// DiaHoluka
console.log(sreplace("DiaHoluka",3,"s")); // Diasoluka
console.log(sreplace("DiaHoluka",4,"salé")); // DiaHsaléluka </script>
Notez que la chaîne initiale reste intacte :
Les Strings
-4/26-
Sunday 24 March 2019 (18:49:39 a3/p3)
DIASOLUKA Nz. Luyalu
JavaScript
La taille ou longueur (length) d'une chaîne de caractères est le nombre d'éléments 16 bits que la chaîne contient :
Une méthode intéressante de «String» est le callback «replace» qui permet de remplacer les caractères dans une chaîne selon un critère spéciïé dans une expression régulière «RegExp».
<script>"use strict"; functionconvertirVoyels(s){ returns.replace(/[aeiouy]/g,function(e){ returne.toUpperCase(); }); } functionconvertirConsonnes(s){ returns.replace(/[^aeiouy]/g,function(e){ returne.toUpperCase(); }); } functionconvertirEnMaj(s){ returns.replace(/[a-z]/g,function(e){ returne.toUpperCase(); }); } functionconvertirEnmin(s){ returns.replace(/[A-Z]/g,function(e){ returne.toLowerCase(); }); } console.log(convertirVoyels( "Leloyayo moko, Lobiya bino mibale")); console.log(convertirConsonnes( "Leloyayo moko, Lobiya bino mibale")); console.log(convertirEnMaj( "lelo ya yo moko, lobi ya bino mibale")); console.log(convertirEnmin( "LELO YAYO MOKO, LOBI YA BINO MIBALE")); </script>
Les Strings
-5/26-
Sunday 24 March 2019 (18:49:39 a3/p3)
DIASOLUKA Nz. Luyalu
L’opérateur « ... » (spread operator) :
JavaScript
L’opérateur «...» (spread operator) convertit une String en une Array dont les éléments restent dans l’Arrayt quand le tout est entouré de crochets, et seulement achés quand le tout n’est pas entouré de crochets.
<script>"use strict"; console.log(newDate().getFullYear()); console.log(`${newDate().getFullYear()}`); console.log(...`${newDate().getFullYear()}`); console.log([...`${newDate().getFullYear()}`]); console.log("=".repeat(33));
for(letiof[...`${newDate().getFullYear()}`]) console.log(i); </script>
Pour extraire uns sous-chaîne d’une autre chaîne :
Les Strings
-6/26-
Sunday 24 March 2019 (18:49:39 a3/p3)
DIASOLUKA Nz. Luyalu
JavaScript
Pour manipuler/extraire chaque caractère d’une chaîne, on peut utiliser la boucle «for…of» :
<script>"use strict"; for(letiof'Année 2018') console.log(i);
Les Strings
-7/26-
</script>
Sunday 24 March 2019 (18:49:39 a3/p3)
DIASOLUKA Nz. Luyalu
UN MÉLIMÉLO DES MÉTHODES DE STRING :
<script>"use strict"; console.log("Diasoluka".includes("so",3));//true console.log("Diasoluka".search("sol"));//3 console.log("Diasoluka".indexOf("sol"));//3 console.log("Diasoluka".lastIndexOf("a"));//8 console.log("Diasoluka".substr(3,3));//sol console.log("Diasoluka".substring(3,6));//sol console.log("Diasoluka".endsWith("luka"));//true console.log("Diasoluka".endsWith("oluk",8));//true console.log("Diasoluka".endsWith("solu",7));//true console.log("Diasoluka".startsWith("Diaso"));//true console.log("Diasoluka".startsWith("diaso"));//false console.log("Diasoluka".startsWith("solu",3));//true console.log("Diasoluka".slice(2,5));//aso console.log("Diasoluka".slice(-5,-1));//oluk console.log("DiaSolUka".toLocaleLowerCase());//diasoluka
console.log(`" DiaSolUka "`.toLocaleUpperCase()); //" DIASOLUKA "
console.log("'"+`${" DiaSolUka ".trim()}`+"'"); //'DiaSolUka' console.log("'"+`${" DiaSolUka ".trimLeft()}`+"'"); //'DiaSolUka ' console.log("'"+`${" DiaSolUka ".trimStart()}`+"'"); //'DiaSolUka ' console.log("'"+`${" DiaSolUka ".trimRight()}`+"'"); //' DiaSolUka'
console.log("'"+`${" DiaSolUka ".trimEnd()}`+"'"); //' DiaSolUka'
console.log("Diasoluka".split("a")); //(3) ["Di", "soluk", ""]
console.log("Diasoluka".replace(/[aeiouy]/g,e=>"_")); //D__s_l_k_
console.log("Diasoluka".replace(/[aeiouy]/g,e=>"")); //Dslk
console.log("Diasoluka".replace(/[aeiouy]/g,e=>  `${Math.round(Math.random()*10)}`)); //D98s4l9k4
console.log("Diasoluka".match("solu")); //["solu", index: 3, input: "Diasoluka", groups: undeïned]
console.log(`so${Math.pow(2,10)}lu`); //so1024lu
console.log(`so\nlu`);
Les Strings
-8/26-
JavaScript
Sunday 24 March 2019 (18:49:39 a3/p3)
DIASOLUKA Nz. Luyalu //so //lu
console.log(String.raw`so\nlu`); //["solu", index: 3, input: "Diasoluka", groups: undeïned] letn=Number(40); console.log(typeofn.toString());//string console.log(typeofn.toString().valueOf());//string console.log(typeofn.toLocaleString());//string
console.log("Teuf".repeat(3));//Teuf TeufTeuf console.log("Teuf".padStart(10,"-"));//------Teuf console.log("Teuf".padEnd(10,"-"));//Teuf------
//(10,"-")); console.log(String("Teuf").padLeft //TypeError: String(...).padLeft is nota function //(10,"-")); console.log("Teuf".padRight //TypeError: "Teuf".padRightis not a function </script>
« TypeCasting » vers une String :
JavaScript
Au besoin, la fonction «String(obj)» ou la méthode «obj.toString()» convertissent la valeur primitive d’un objet en chaîne.
<scripttype="text/javascript">"use strict"; varx= _ => ["A",1,{a:"a"},["y",{2:"deux"}]]; console.log(x().toString()); // A,1,[object Object],y,[object Object]
console.log(String(x())); // A,1,[object Object],y,[object Object] </script>
Object . toString ( )s’applique aux objets suivants :
Object
Array
Boolean
Date
Error
Les Strings
Behavior
Elements of an Array are converted to strings. The resulting strings are concatenated, separated by commas.
If the Boolean value istrue, returns "true". Otherwise, returns "false".
Returns the textual representation of the date.
Returns a string containing the associated error message.
-9/26-
Sunday 24 March 2019 (18:49:39 a3/p3)
DIASOLUKA Nz. Luyalu
Object
Function
Number
String
Default
Behavior
Returns a string of the following form, wherefunctionnameis the name of the function whosetoStringmethod was called:
function functionname( ) { [native code] }
Returns the textual representation of the number.
Returns the value of the String object.
Returns "[object objectname]", where objectname is the name of the object type.
JavaScript
La méthode «.toString» permet aussi de convertir un nombre d’une base de numération vers une autre.
<scripttype="text/javascript">"use strict"; functionCreateRadixTable(){ // Create table heading. console.log("Hex".padStart(3," ")+ "Dec".padStart(6," ")+"Bin".padStart(9," ")+ "Oct".padStart(6," "))
for(varx =0;x <=32;x++) { vars =""; // Convert to hexadecimal. s += (x.toString(16)).padStart(3," ");
// Convert to decimal. s += (x.toString(10)).padStart(6," ")
// Convert to binary. s += (x.toString(2)).padStart(9," ")
// Convert to octal. s += (x.toString(8)).padStart(6," ")
 console.log(s); } }
CreateRadixTable(); </script>
Exécution :
Les Strings
-10/26-
Sunday 24 March 2019 (18:49:39 a3/p3)
DIASOLUKA Nz. Luyalu Hex Dec Bin Oct  0 0 0 0  1 1 1 1  2 2 10 2  3 3 11 3  4 4 100 4  5 5 101 5  6 6 110 6  7 7 111 7  8 8 1000 10  9 9 1001 11  a 10 1010 12  b 11 1011 13  c 12 1100 14  d 13 1101 15  e 14 1110 16  f 15 1111 17
10 16 10000 20 11 17 10001 21 12 18 10010 22 13 19 10011 23 14 20 10100 24 15 21 10101 25 16 22 10110 26 17 23 10111 27 18 24 11000 30 19 25 11001 31 1a 26 11010 32 1b 27 11011 33 1c 28 11100 34 1d 29 11101 35 1e 30 11110 36 1f 31 11111 37 20 32 100000 40
JavaScript
Pour vériïer si une chaîne commence ou se termine par une souis-chaîne donnée on peut utiliser les méthodes «startsWith()», «endsWith()»,substr(d , L), substring(d , d+L).
startsWith(), endsWith(), substr(d , L), substring(d , d+L) :
<scripttype="text/javascript">"use strict"; console.log("abcde".startsWith("cd",2))// true console.log("abcde".endsWith("de"))// true
console.log("abcdef".substr(2,3)=="cde")// true (d, L) console.log("abcdefg".substring(2,5)=="cde") // false (d, d+L) ou (d, F-1)
console.log("«"+"abcdefg".substr("b","d")+"»") // vide console.log("«"+"abcdefg".substring("b","d")+"»") // vide
console.log("«"+"abcdefg".substr("c")+"»")// Tout console.log("«"+"abcdefg".substring("c")+"»")// Tout
console.log("«"+"abcdefg".substr()+"»")// Tout console.log("«"+"abcdefg".substring()+"»")// Tout </script>
Les Strings
-11/26-
Sunday 24 March 2019 (18:49:39 a3/p3)
  • Univers Univers
  • Ebooks Ebooks
  • Livres audio Livres audio
  • Presse Presse
  • Podcasts Podcasts
  • BD BD
  • Documents Documents