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.
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.
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()
<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);
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 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 achés quand le tout n’est pas entouré de crochets.
//(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.
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).