Résumé
Crée un objet permettant de travailler avec une série de caractères.
Syntaxe
new String()
new String(
string
)
Les chaînes de caractères littérales prennent la forme suivante :
'
stringText
'
"
stringText
"
Paramètres
-
chaîne - N'importe quelle chaîne de caractères.
-
stringText - Une série de caractères correctement encodée.
Description
Les objets String sont créés en appelant le constructeur new String(). L'objet String encapsule le type de données primitif string de JavaScript en fournissant les méthodes décrites plus bas. La fonction globale String() peut également être appelée sans l'opérateur new pour créer une chaîne primitive. Les chaînes littérales dans le code JavaScript sont des chaînes primitives.
Étant donné que JavaScript effectue automatiquement les conversions entre chaînes primitives et objets String, toute méthode de l'objet String peut être appelée sur une chaîne primitive. JavaScript convertira automatiquement la chaîne en un objet String temporaire, appellera la méthode, puis détruira l'objet temporaire. Par exemple, on peut utiliser la propriété String.length sur une chaîne créée de manière littérale :
s_obj.length; // 3 s_prim.length; // 3 s_also_prim.length; // 3 'foo'.length; // 3 "foo".length; // 3
(Une chaîne littérale peut être délimitée par des guillemets simples ou doubles.)
Les objets String peuvent être convertis en chaînes primitives à l'aide de String.valueOf().
Les chaînes primitives et les objets String renvoient des résultats différents lorsqu'ils sont évalués en JavaScript. Les chaînes primitives sont traitées comme du code source, tandis que les objets String sont traités comme un objet de séquence de caractères. Par exemple :
s1 = "2 + 2"; // crée une chaîne primitive
s2 = new String("2 + 2"); // crée un objet String
eval(s1); // renvoie le nombre 4
eval(s2); // renvoie la chaîne "2 + 2"
eval(s2.valueOf()); // renvoie le nombre 4
Accès à des caractères individuels
Deux manières d'accéder à un caractère individuel dans une chaîne existent. La première est la méthode charAt :
return 'cat'.charAt(1); // renvoie "a"
La seconde manière est de traiter la chaîne comme s'il s'agissait d'un tableau, avec chaque indice correspondant à un caractère particulier :
return 'cat'[1]; // renvoie "a"
Dans les deux cas, il ne sera pas possible de modifier un caractère existant. Si l'on essaie de modifier un caractère via charAt, on obtient une erreur ; alors qu'en utilisant la méthode du tableau, aucune erreur n'est provoquée, mais la chaîne elle-même ne change pas.
Comparaison de chaînes
Les développeurs C connaissent la fonction strcmp() pour comparer des chaînes. En JavaScript, on utilisera simplement les opérateurs plus petit et plus grand :
var a = "a";
var b = "b";
if (a < b) // true
print(a + " est inférieur à " + b);
else if (a > b)
print(a + " est supérieur à " + b);
else
print(a + " et " + b + " sont égaux.");
On peut arriver à un résultat similaire en utilisant la méthode localeCompare héritée par les instances String.
Propriétés
Pour les propriétés héritées par les instances de String consultez Propriétés des instances de String.
- prototype
-
permet d'ajouter des propriétés à tous les objets
String.
Méthodes
Pour les méthodes héritées par les instances de String consultez Méthodes des instances de String.
- fromCharCode
- renvoie une chaîne créée en utilisant la séquence de valeurs Unicode fournie.