L'objet global String est un constructeur de chaînes de caractères.

Syntaxe

Les littéraux de chaînes de caractères peuvent avoir l'une des formes suivantes :

'texte de chaînes de caractères'
"texte de chaînes de caractères"
"中文 español English देवनागरी العربية português বাংলা русский 日本語 ਪੰਜਾਬੀ 한국어 עברית"

Les chaînes peuvent également être créées en utilisant directement le constructeur String :

String(truc)

Paramètres

truc
Une valeur qu'on souhaite convertir en une chaîne de caractères.

Littéraux de gabarits

Depuis ECMAScript 2015, les littéraux de chaînes de caractères sont également appelés des littéraux de gabarits :

`Coucou monde`
`Coucou !
monde !`
`Coucou ${qui}`
tag `<a>${qui}</a>`

Échappement des caractères

En dehors des caractères classiques, des caractères spéciaux peuvent être encodés grâce à l'échappement :

Code Résultat
\0 le caractère NUL
\' simple quote
\" double quote
\\ barre oblique inversée
\n nouvelle ligne
\r retour chariot
\v tabulation verticale
\t tabulation
\b retour arrière
\f saut de page (form feed)
\uXXXX point de code Unicode
\xXX caractère Latin-1
\XXX un caractère Latin-1 octal

Note : À la différence d'autres langages, JavaScript ne différencie pas les chaînes contenues dans des doubles quotes (") de celles contenues dans des simples quotes ('). Pour cette raison, les chaînes d'échappement présentées ci-avant fonctionnent sur les chaînes, peu importe la façon dont elles sont encadrées.

Littéraux pour les chaînes longues

Il peut arriver que le code contienne des chaînes plutôt longues. Plutôt que d'avoir des lignes qui s'étirent sur tout le fichier et dans un éditeur de code, il est possible de casser la chaîne sur plusieurs lignes sans que cela modifie le contenu de la chaîne. Il existe deux façons pour le faire :

let chaîneLongue = "Voici une très longue chaîne qui a besoin " +
                   " d'être passée à la ligne parce que sinon " +
                   " ça risque de devenir illisible.";

ou on peut utiliser le caractère barre oblique inversée "\" à la fin de chaque ligne pour indiquer que la chaîne continue sur la ligne suivante. Il faut bien faire attention à ce que la barre oblique soit bien le dernier caractère de la ligne avant le saut de ligne. Sinon, cela ne fonctionnera pas. Voilà comment se présente cette forme :

let chaîneLongue = "Voici une très longue chaîne qui a besoin \
d'être passée à la ligne parce que sinon \
ça risque de devenir illisible.";

Description

Les chaînes de caractères sont utiles pour représenter des données textuelles. Les opérations les plus fréquentes qui concernent les chaînes de caractères sont : la vérification de leur longueur, la concaténation de plusieurs chaînes grâce aux opérateurs + et +=, étudier la présence et la position de fragments de chaînes avec les méthodes indexOf() et substring().

Accéder à un caractère

Il existe deux façons d'accéder à un caractère dans une chaîne. La première façon consiste à utiliser la méthode charAt() :

return 'chat'.charAt(2); // renvoie "a"

La seconde méthode, introduite avec ECMAScript 5, est de manipuler la chaîne comme un tableau, où les caractères sont les éléments du tableau et ont un indice correspondant à leur position :

return 'chat'[2]; // renvoie "a"

En utilisant la seconde notation, il est impossible de supprimer ou d'affecter une valeur à ces propriétés. En effet, les propriétés concernées ne sont ni accessibles en écriture ni configurables. Pour plus d'informations, voir la page de Object.defineProperty().

Comparer des chaînes de caractères

Les développeurs C utilisent la fonction strcmp() pour comparer des chaînes de caractères. En JavaScript, il est possible d'utiliser les opérateurs inférieur et supérieur :

var a = "a";
var b = "b";
if (a < b) { // true
  console.log(a + " est inférieure à " + b);
} else if (a > b) {
  console.log(a + " est supérieure à " + b);
} else {
  console.log(a + " et " + b + " sont égales.");
}

On peut obtenir un résultat semblable avec la méthode localeCompare() qui permet de prendre en compte la locale utilisée et qui est héritée par toutes les instances de String.

Les différences entre les objets String et le type primitif pour les chaînes de caractères

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. (On a la même analogie pour Boolean et Numbers.)

É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 :

var s_prim = "toto";
var s_obj = new String(s_prim);

console.log(typeof s_prim); // affiche "string"
console.log(typeof s_obj);  // affiche "object"

(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
console.log(eval(s1));           // renvoie le nombre 4
console.log(eval(s2));           // renvoie la chaîne "2 + 2"
console.log(eval(s2.valueOf())); // renvoie le nombre 4

Pour ces raisons, il peut y avoir certains problèmes quand le code attend une chaîne primitive plutôt qu'un objet String. Généralement la distinction n'a pas besoin d'être utilisée.

Un objet String peut toujours être converti en son équivalent primitif grâce à la méthode valueOf().

console.log(eval(s2.valueOf())); // renvoie  4
Note : Une autre approche pour gérer des chaînes de caractères en JavaScript consiste à utiliser StringView – une représentation semblable à celle utilisée par le langage C pour traîter les chaînes comme des tableaux typés.

Propriétés

String.prototype
permet d'ajouter des propriétés à tous les objets String.

Méthodes

String.fromCharCode()
Renvoie une chaine de caractères créée en utilisant la séquence de valeurs Unicode fournie.
String.fromCodePoint()
Renvoie une chaine de caractères créée en utilisant la séquence de points de code fournie.
String.raw()
Renvoie une chaine de caractères à partir d'un modèle brut de chaine de caractères.

Méthodes génériques de String

Attention : Ces méthodes sont non-standards, dépréciées et seront retirées prochainement.

Les méthodes pour les instances de String sont également disponibles, pour Firefox et JavaScript 1.6, sur l'objet String afin d'appliquer des méthodes de String à n'importe quel objet. Cela ne fait pas partie du standard ECMAScript. Par exemple :

var num = 15;
console.log(String.replace(num, "5", "2"));

Pour migrer du code qui utilise ce type de méthodes, se référer à l'article sur cet avertissement.

Les méthodes génériques sont également disponibles pour les méthodes de Array.

Instances de String

Propriétés

String.prototype.constructor
Définit la fonction créant le prototype d'un objet.
String.prototype.length
Reflète la longueur de la chaîne
N
Utilisée pour accéder au caractère en Nème position où N est un entier entre 0 et la valeur de String.length moins un. Ces propriétés sont en lecture seule.

Méthodes

Méthodes non liées à HTML

String.prototype.charAt()
Renvoie le caractère (ou plus précisement, le point de code UTF-16) à la position spécifiée.
String.prototype.charCodeAt()
Renvoie un nombre indiquant la valeur du point de code UTF-16 du caractère à la position spécifiée.
String.prototype.codePointAt()
Renvoie un entier positif qui est la valeur du codet UTF-16 à la position donnée.
String.prototype.concat()
Combine le texte de deux chaînes et renvoie une nouvelle chaîne.
String.prototype.includes()
Défini si une chaîne de caractères est contenue dans une autre chaîne de caractères.
String.prototype.endsWith()
Défini si une chaîne de caractère se termine par une chaîne de caractères spécifique.
String.prototype.indexOf()
Renvoie la position, au sein de l'objet String appelant, de la première occurrence de la valeur spécifiée, ou -1 si celle-ci n'est pas trouvée.
String.prototype.lastIndexOf()
Renvoie la position, au sein de l'objet String appelant, de la dernière occurrence de la valeur spécifiée, ou -1 si celle-ci n'est pas trouvée.
String.prototype.localeCompare()
Renvoie un nombre indiquant si une chaîne de référence vient avant, après ou est en position identique à la chaîne donnée selon un ordre de tri.
String.prototype.match()
Utilisée pour faire correspondre une expression rationnelle avec une chaîne.
String.prototype.normalize()
Retourne la forme Unicode normalisée de la chaîne de caractères appelée.
String.prototype.padEnd()
Complète la chaîne courante avec une autre chaîne de caractères, éventuellement répétée, afin d'obtenir une nouvelle chaîne de la longueur indiquée. La chaîne complémentaire est ajoutée à la fin.
String.prototype.padStart()
Complète la chaîne courante avec une autre chaîne de caractères, éventuellement répétée, afin d'obtenir une nouvelle chaîne de la longueur indiquée. La chaîne complémentaire est ajoutée au début.
String.prototype.quote()
Entoure la chaîne de guillemets doubles anglais (""").
String.prototype.repeat()
Renvoie une chaîne dont le contenu est la chaîne courante répétée un certain nombre de fois.
String.prototype.replace()
Utilisée pour rechercher une correspondance entre une expression rationnelle et une chaîne, et pour remplacer la sous-chaîne correspondante par une nouvelle chaîne.
String.prototype.search()
Exécute la recherche d'une correspondance entre une expression régulière et une chaîne spécifiée.
String.prototype.slice()
Extrait une section d'une chaîne et renvoie une nouvelle chaîne.
String.prototype.split()
Sépare un objet String en un tableau de chaînes en séparant la chaîne en plusieurs sous-chaînes.
String.prototype.startsWith()
Détermine si une chaîne commence avec les caractères d'une autre chaîne.
String.prototype.substr()
Renvoie les caractères d'une chaîne à partir de la position spécifiée et pour la longueur spécifiée.
String.prototype.substring()
Renvoie les caractères d'une chaîne entre deux positions dans celle-ci.
String.prototype.toLocaleLowerCase()
Les caractères de la chaîne seront convertis en minuscules selon la locale courante. Pour la plupart des langues, le résultat est identique à toLowerCase().
String.prototype.toLocaleUpperCase()
Les caractères de la chaîne seront convertis en majuscules selon la locale courante. Pour la plupart des langues, le résultat est identique à toUpperCase().
String.prototype.toLowerCase()
Renvoie la valeur de la chaîne appelante convertie en minuscules.
String.prototype.toSource()
Renvoie une représentation littérale de l'objet; celle-ci peut être utilisée pour créer un nouvel objet. Remplace la méthode Object.prototype.toSource().
String.prototype.toString()
Renvoie une chaîne représentant l'objet spécifié. Remplace la méthode Object.prototype.toString().
String.prototype.toUpperCase()
Renvoie la valeur de la chaîne appelante convertie en majuscules.
String.prototype.trim()
Retire les blancs en début et en fin de chaîne. Cette méthode a été définie avec ECMAScript 5.
String.prototype.trimStart()
String.prototype.trimLeft()
Retire les blancs situés au début de la chaîne.
String.prototype.trimEnd()
String.prototype.trimRight()
Retire les blancs situés à la fin de la chaîne.
String.prototype.valueOf()
Renvoie la valeur primitive de l'objet spécifié. Remplace la méthode Object.prototype.valueOf().
String.prototype[@@iterator]()
Renvoie un nouvel objet Iterator qui permet d'itérer sur les codets de la chaîne, chaque codet étant renvoyé comme une chaîne.

Méthodes de transformation à HTML

Ces méthodes ont une utilisation limitée, étant donné qu'elles ne fournissent qu'un petit sous-ensemble des balises et attributs HTML existants.

String.prototype.anchor()
<a name="name"> (cible hypertexte)
String.prototype.big()
<big>
String.prototype.blink()
<blink>
String.prototype.bold()
<b>
String.prototype.fixed()
<tt>
String.prototype.fontcolor()
<font color="color">
String.prototype.fontsize()
<font size="size">
String.prototype.italics()
<i>
String.prototype.link()
<a href="url"> (lien vers une URL)
String.prototype.small()
<small>
String.prototype.strike()
<strike>
String.prototype.sub()
<sub>
String.prototype.sup()
<sup>

Exemples

Conversion en String

Il est possible d'utiliser String comme une alternative à toString() car cela permet de traiter les valeurs null, undefined et les symboles. Ainsi :

var chainesSortie= [];
for (let i = 0, n = valeursEntrée.length; i < n; ++i) {
  chainesSortie.push(String(valeursEntrée[i]));
}

Spécifications

Spécification État Commentaires
ECMAScript 1st Edition (ECMA-262) Standard Définition initiale.
ECMAScript 5.1 (ECMA-262)
La définition de 'String' dans cette spécification.
Standard  
ECMAScript 2015 (6th Edition, ECMA-262)
La définition de 'String' dans cette spécification.
Standard  
ECMAScript Latest Draft (ECMA-262)
La définition de 'String' dans cette spécification.
Projet  

Compatibilité des navigateurs

Update compatibility data on GitHub
OrdinateurMobileServeur
ChromeEdgeFirefoxInternet ExplorerOperaSafariWebview AndroidChrome pour AndroidEdge MobileFirefox pour AndroidOpera pour AndroidSafari sur iOSSamsung InternetNode.js
Support simpleChrome Support complet OuiEdge Support complet OuiFirefox Support complet 1IE Support complet OuiOpera Support complet OuiSafari Support complet OuiWebView Android Support complet OuiChrome Android Support complet OuiEdge Mobile Support complet OuiFirefox Android Support complet 4Opera Android Support complet OuiSafari iOS Support complet OuiSamsung Internet Android Support complet Ouinodejs Support complet Oui
@@iteratorChrome Support complet OuiEdge Support complet OuiFirefox Support complet 36
Support complet 36
Aucun support 27 — 36
Notes Autre nom
Notes A placeholder property named @@iterator is used.
Autre nom Cette fonctionnalité utilise le nom non-standard : @@iterator
Aucun support 17 — 27
Notes Autre nom
Notes A placeholder property named iterator is used.
Autre nom Cette fonctionnalité utilise le nom non-standard : iterator
IE Aucun support NonOpera Aucun support NonSafari Aucun support NonWebView Android Aucun support NonChrome Android Aucun support NonEdge Mobile ? Firefox Android Support complet 36
Support complet 36
Aucun support 27 — 36
Notes Autre nom
Notes A placeholder property named @@iterator is used.
Autre nom Cette fonctionnalité utilise le nom non-standard : @@iterator
Aucun support 17 — 27
Notes Autre nom
Notes A placeholder property named iterator is used.
Autre nom Cette fonctionnalité utilise le nom non-standard : iterator
Opera Android Aucun support NonSafari iOS Aucun support NonSamsung Internet Android Aucun support Nonnodejs Support complet 0.12
Unicode code point escapes \u{xxxxxx}Chrome Support complet OuiEdge ? Firefox Support complet 40IE ? Opera Support complet OuiSafari Support complet OuiWebView Android Support complet OuiChrome Android Support complet OuiEdge Mobile ? Firefox Android Support complet 40Opera Android Support complet OuiSafari iOS Support complet OuiSamsung Internet Android Support complet Ouinodejs Support complet Oui
anchor
Obsolète
Chrome Support complet OuiEdge Support complet OuiFirefox Support complet 1
Notes
Support complet 1
Notes
Notes Starting with version 17, the quotation mark (") is replaced by its HTML reference character (") in strings supplied for the name parameter.
IE Aucun support NonOpera Support complet OuiSafari Support complet OuiWebView Android Support complet OuiChrome Android Support complet OuiEdge Mobile Support complet OuiFirefox Android Support complet 4Opera Android Support complet OuiSafari iOS Support complet OuiSamsung Internet Android Support complet Ouinodejs Support complet Oui
big
Obsolète
Chrome Support complet OuiEdge Support complet OuiFirefox Support complet 1IE Support complet OuiOpera Support complet OuiSafari Support complet OuiWebView Android Support complet OuiChrome Android Support complet OuiEdge Mobile Support complet OuiFirefox Android Support complet 4Opera Android Support complet OuiSafari iOS Support complet OuiSamsung Internet Android Support complet Ouinodejs Support complet Oui
blink
Obsolète
Chrome Support complet OuiEdge Support complet OuiFirefox Support complet 1IE Support complet OuiOpera Support complet OuiSafari Support complet OuiWebView Android Support complet OuiChrome Android Support complet OuiEdge Mobile Support complet OuiFirefox Android Support complet 4Opera Android Support complet OuiSafari iOS Support complet OuiSamsung Internet Android Support complet Ouinodejs Support complet Oui
bold
Obsolète
Chrome Support complet OuiEdge Support complet OuiFirefox Support complet 1IE Support complet OuiOpera Support complet OuiSafari Support complet OuiWebView Android Support complet OuiChrome Android Support complet OuiEdge Mobile Support complet OuiFirefox Android Support complet 4Opera Android Support complet OuiSafari iOS Support complet OuiSamsung Internet Android Support complet Ouinodejs Support complet Oui
charAtChrome Support complet OuiEdge Support complet OuiFirefox Support complet 1IE Support complet OuiOpera Support complet OuiSafari Support complet OuiWebView Android Support complet OuiChrome Android Support complet OuiEdge Mobile Support complet OuiFirefox Android Support complet 4Opera Android Support complet OuiSafari iOS Support complet OuiSamsung Internet Android Support complet Ouinodejs Support complet Oui
charCodeAtChrome Support complet OuiEdge Support complet OuiFirefox Support complet 1IE Support complet OuiOpera Support complet OuiSafari Support complet OuiWebView Android Support complet OuiChrome Android Support complet OuiEdge Mobile Support complet OuiFirefox Android Support complet 4Opera Android Support complet OuiSafari iOS Support complet OuiSamsung Internet Android Support complet Ouinodejs Support complet Oui
codePointAtChrome Support complet 41Edge Support complet OuiFirefox Support complet 29IE Aucun support NonOpera Support complet 28Safari Support complet 10WebView Android Support complet OuiChrome Android Support complet OuiEdge Mobile Support complet OuiFirefox Android Support complet 29Opera Android Support complet OuiSafari iOS Support complet 10Samsung Internet Android Support complet Ouinodejs Support complet 4.0.0
Support complet 4.0.0
Support complet 0.12
Désactivée
Désactivée From version 0.12: this feature is behind the --harmony runtime flag.
concatChrome Support complet OuiEdge Support complet OuiFirefox Support complet 1IE Support complet OuiOpera Support complet OuiSafari Support complet OuiWebView Android Support complet OuiChrome Android Support complet OuiEdge Mobile Support complet OuiFirefox Android Support complet 4Opera Android Support complet OuiSafari iOS Support complet OuiSamsung Internet Android Support complet Ouinodejs Support complet Oui
endsWithChrome Support complet 41Edge Support complet OuiFirefox Support complet 17IE Aucun support NonOpera Support complet 28Safari Support complet 9WebView Android Support complet OuiChrome Android Support complet 36Edge Mobile Support complet OuiFirefox Android Support complet 17Opera Android Support complet OuiSafari iOS Support complet 9Samsung Internet Android Support complet Ouinodejs Support complet 4.0.0
Support complet 4.0.0
Support complet 0.12
Désactivée
Désactivée From version 0.12: this feature is behind the --harmony runtime flag.
fixed
Obsolète
Chrome Support complet OuiEdge Support complet OuiFirefox Support complet 1IE Support complet OuiOpera Support complet OuiSafari Support complet OuiWebView Android Support complet OuiChrome Android Support complet OuiEdge Mobile Support complet OuiFirefox Android Support complet 4Opera Android Support complet OuiSafari iOS Support complet OuiSamsung Internet Android Support complet Ouinodejs Support complet Oui
fontcolor
Obsolète
Chrome Support complet OuiEdge Support complet OuiFirefox Support complet 1IE Support complet OuiOpera Support complet OuiSafari Support complet OuiWebView Android Support complet OuiChrome Android Support complet OuiEdge Mobile Support complet OuiFirefox Android Support complet 4Opera Android Support complet OuiSafari iOS Support complet OuiSamsung Internet Android Support complet Ouinodejs Support complet Oui
fontsize
Obsolète
Chrome Support complet OuiEdge Support complet OuiFirefox Support complet 1IE Support complet OuiOpera Support complet OuiSafari Support complet OuiWebView Android Support complet OuiChrome Android Support complet OuiEdge Mobile Support complet OuiFirefox Android Support complet 4Opera Android Support complet OuiSafari iOS Support complet OuiSamsung Internet Android Support complet Ouinodejs Support complet Oui
fromCharCodeChrome Support complet OuiEdge Support complet OuiFirefox Support complet 1IE Support complet OuiOpera Support complet OuiSafari Support complet OuiWebView Android Support complet OuiChrome Android Support complet OuiEdge Mobile Support complet OuiFirefox Android Support complet 4Opera Android Support complet OuiSafari iOS Support complet OuiSamsung Internet Android Support complet Ouinodejs Support complet Oui
fromCodePointChrome Support complet 41Edge Support complet OuiFirefox Support complet 29IE Aucun support NonOpera Support complet 28Safari Support complet 10WebView Android Support complet OuiChrome Android Support complet OuiEdge Mobile Support complet OuiFirefox Android Support complet 29Opera Android Support complet OuiSafari iOS Support complet 10Samsung Internet Android Support complet Ouinodejs Support complet 4.0.0
Support complet 4.0.0
Support complet 0.12
Désactivée
Désactivée From version 0.12: this feature is behind the --harmony runtime flag.
includesChrome Support complet 41Edge Support complet OuiFirefox Support complet 40
Support complet 40
Aucun support 18 — 48
Autre nom
Autre nom Cette fonctionnalité utilise le nom non-standard : contains
IE Aucun support NonOpera Support complet OuiSafari Support complet 9WebView Android Support complet OuiChrome Android Support complet OuiEdge Mobile Support complet OuiFirefox Android Support complet 40
Support complet 40
Aucun support 18 — 48
Autre nom
Autre nom Cette fonctionnalité utilise le nom non-standard : contains
Opera Android Support complet OuiSafari iOS Support complet 9Samsung Internet Android Support complet Ouinodejs Support complet 4.0.0
indexOfChrome Support complet OuiEdge Support complet OuiFirefox Support complet 1IE Support complet OuiOpera Support complet OuiSafari Support complet OuiWebView Android Support complet OuiChrome Android Support complet OuiEdge Mobile Support complet OuiFirefox Android Support complet 4Opera Android Support complet OuiSafari iOS Support complet OuiSamsung Internet Android Support complet Ouinodejs Support complet Oui
italics
Obsolète
Chrome Support complet OuiEdge Support complet OuiFirefox Support complet 1IE Support complet OuiOpera Support complet OuiSafari Support complet OuiWebView Android Support complet OuiChrome Android Support complet OuiEdge Mobile Support complet OuiFirefox Android Support complet 4Opera Android Support complet OuiSafari iOS Support complet OuiSamsung Internet Android Support complet Ouinodejs Support complet Oui
lastIndexOfChrome Support complet OuiEdge Support complet OuiFirefox Support complet 1IE Support complet 6Opera Support complet OuiSafari Support complet OuiWebView Android Support complet OuiChrome Android Support complet OuiEdge Mobile Support complet OuiFirefox Android Support complet 4Opera Android Support complet OuiSafari iOS Support complet OuiSamsung Internet Android Support complet Ouinodejs Support complet Oui
lengthChrome Support complet OuiEdge Support complet OuiFirefox Support complet 1IE Support complet OuiOpera Support complet OuiSafari Support complet OuiWebView Android Support complet OuiChrome Android Support complet OuiEdge Mobile Support complet OuiFirefox Android Support complet 4Opera Android Support complet OuiSafari iOS Support complet OuiSamsung Internet Android Support complet Ouinodejs Support complet Oui
link
Obsolète
Chrome Support complet OuiEdge Support complet OuiFirefox Support complet 1IE Support complet OuiOpera Support complet OuiSafari Support complet OuiWebView Android Support complet OuiChrome Android Support complet OuiEdge Mobile Support complet OuiFirefox Android Support complet 4Opera Android Support complet OuiSafari iOS Support complet OuiSamsung Internet Android Support complet Ouinodejs Support complet Oui
localeCompareChrome Support complet OuiEdge Support complet OuiFirefox Support complet 1IE Support complet OuiOpera Support complet OuiSafari Support complet OuiWebView Android Support complet OuiChrome Android Support complet OuiEdge Mobile Support complet OuiFirefox Android Support complet 4Opera Android Support complet OuiSafari iOS Support complet OuiSamsung Internet Android Support complet Ouinodejs Support complet Oui
localeCompare.localesChrome Support complet 24Edge Support complet OuiFirefox Support complet 29IE Support complet 11Opera Support complet 15Safari Support complet 10WebView Android Aucun support NonChrome Android Support complet 26Edge Mobile ? Firefox Android Aucun support NonOpera Android Aucun support NonSafari iOS Support complet 10Samsung Internet Android Support complet Ouinodejs ?
localeCompare.optionsChrome Support complet 24Edge Support complet OuiFirefox Support complet 29IE Support complet 11Opera Support complet 15Safari Support complet 10WebView Android Aucun support NonChrome Android Support complet 26Edge Mobile ? Firefox Android Aucun support NonOpera Android Aucun support NonSafari iOS Support complet 10Samsung Internet Android Support complet Ouinodejs ?
matchChrome Support complet OuiEdge Support complet OuiFirefox Support complet 1IE Support complet OuiOpera Support complet OuiSafari Support complet OuiWebView Android Support complet OuiChrome Android Support complet OuiEdge Mobile Support complet OuiFirefox Android Support complet 4Opera Android Support complet OuiSafari iOS Support complet OuiSamsung Internet Android Support complet Ouinodejs Support complet Oui
match.flags
ObsolèteNon-standard
Chrome Aucun support NonEdge Aucun support NonFirefox Aucun support 1 — 49IE Aucun support NonOpera Aucun support NonSafari Aucun support NonWebView Android Aucun support NonChrome Android Aucun support NonEdge Mobile Aucun support NonFirefox Android Aucun support 4 — 49Opera Android Aucun support NonSafari iOS Aucun support NonSamsung Internet Android Aucun support Nonnodejs Aucun support Non
normalizeChrome Support complet 34Edge Support complet OuiFirefox Support complet 31IE Aucun support NonOpera Support complet OuiSafari Support complet 10WebView Android Aucun support NonChrome Android Support complet 34Edge Mobile Support complet OuiFirefox Android Support complet 31Opera Android Support complet OuiSafari iOS Support complet 10Samsung Internet Android Support complet Ouinodejs Support complet 0.12
padEndChrome Support complet 57Edge Support complet 15Firefox Support complet 48IE Aucun support NonOpera Support complet 44Safari Support complet 10WebView Android Support complet 57Chrome Android Support complet 57Edge Mobile Support complet OuiFirefox Android Support complet 48Opera Android Support complet 44Safari iOS Support complet 10Samsung Internet Android Support complet 7.0nodejs Support complet 8.0.0
Support complet 8.0.0
Support complet 7.0.0
Désactivée
Désactivée From version 7.0.0: this feature is behind the --harmony runtime flag.
padStartChrome Support complet 57Edge Support complet 15Firefox Support complet 48IE Aucun support NonOpera Support complet 44Safari Support complet 10WebView Android Support complet 57Chrome Android Support complet 57Edge Mobile Support complet OuiFirefox Android Support complet 48Opera Android Support complet 44Safari iOS Support complet 10Samsung Internet Android Support complet 7.0nodejs Support complet 8.0.0
Support complet 8.0.0
Support complet 7.0.0
Désactivée
Désactivée From version 7.0.0: this feature is behind the --harmony runtime flag.
prototypeChrome Support complet OuiEdge Support complet OuiFirefox Support complet 1IE Support complet OuiOpera Support complet OuiSafari Support complet OuiWebView Android Support complet OuiChrome Android Support complet OuiEdge Mobile Support complet OuiFirefox Android Support complet 4Opera Android Support complet OuiSafari iOS Support complet OuiSamsung Internet Android Support complet Ouinodejs Support complet Oui
quote
Obsolète
Chrome Aucun support NonEdge Aucun support NonFirefox Aucun support 1 — 37IE Aucun support NonOpera Aucun support NonSafari Aucun support NonWebView Android Aucun support NonChrome Android Aucun support NonEdge Mobile Aucun support NonFirefox Android Aucun support 4 — 37Opera Android Aucun support NonSafari iOS Aucun support NonSamsung Internet Android Aucun support Nonnodejs Aucun support Non
rawChrome Support complet 41Edge Support complet OuiFirefox Support complet 34IE Aucun support NonOpera Aucun support NonSafari Support complet 10WebView Android Aucun support NonChrome Android Support complet 41Edge Mobile Support complet OuiFirefox Android Support complet 34Opera Android Aucun support NonSafari iOS Support complet 10Samsung Internet Android Support complet 4.0nodejs Support complet 4.0.0
repeatChrome Support complet 41Edge Support complet OuiFirefox Support complet 24IE Aucun support NonOpera Support complet OuiSafari Support complet 9WebView Android Aucun support NonChrome Android Support complet 36Edge Mobile Support complet OuiFirefox Android Support complet 24Opera Android Support complet OuiSafari iOS Support complet 9Samsung Internet Android Support complet Ouinodejs Support complet 4.0.0
Support complet 4.0.0
Support complet 0.12
Désactivée
Désactivée From version 0.12: this feature is behind the --harmony runtime flag.
replaceChrome Support complet OuiEdge Support complet OuiFirefox Support complet 1IE Support complet OuiOpera Support complet OuiSafari Support complet OuiWebView Android Support complet OuiChrome Android Support complet OuiEdge Mobile Support complet OuiFirefox Android Support complet 4Opera Android Support complet OuiSafari iOS Support complet OuiSamsung Internet Android Support complet Ouinodejs Support complet Oui
replace.flags
ObsolèteNon-standard
Chrome Aucun support NonEdge Aucun support NonFirefox Aucun support 1 — 49IE Aucun support NonOpera Aucun support NonSafari Aucun support NonWebView Android Aucun support NonChrome Android Aucun support NonEdge Mobile Aucun support NonFirefox Android Aucun support 4 — 49Opera Android Aucun support NonSafari iOS Aucun support NonSamsung Internet Android Aucun support Nonnodejs Aucun support Non
searchChrome Support complet OuiEdge Support complet OuiFirefox Support complet 1IE Support complet OuiOpera Support complet OuiSafari Support complet OuiWebView Android Support complet OuiChrome Android Support complet OuiEdge Mobile Support complet OuiFirefox Android Support complet 4Opera Android Support complet OuiSafari iOS Support complet OuiSamsung Internet Android Support complet Ouinodejs Support complet Oui
search.flags
ObsolèteNon-standard
Chrome Aucun support NonEdge Aucun support NonFirefox Aucun support 1 — 49IE Aucun support NonOpera Aucun support NonSafari Aucun support NonWebView Android Aucun support NonChrome Android Aucun support NonEdge Mobile Aucun support NonFirefox Android Aucun support 4 — 49Opera Android Aucun support NonSafari iOS Aucun support NonSamsung Internet Android Aucun support Nonnodejs Aucun support Non
sliceChrome Support complet OuiEdge Support complet OuiFirefox Support complet 1IE Support complet OuiOpera Support complet OuiSafari Support complet OuiWebView Android Support complet OuiChrome Android Support complet OuiEdge Mobile Support complet OuiFirefox Android Support complet 4Opera Android Support complet OuiSafari iOS Support complet OuiSamsung Internet Android Support complet Ouinodejs Support complet Oui
small
Obsolète
Chrome Support complet OuiEdge Support complet OuiFirefox Support complet 1IE Support complet OuiOpera Support complet OuiSafari Support complet OuiWebView Android Support complet OuiChrome Android Support complet OuiEdge Mobile Support complet OuiFirefox Android Support complet 4Opera Android Support complet OuiSafari iOS Support complet OuiSamsung Internet Android Support complet Ouinodejs Support complet Oui
splitChrome Support complet OuiEdge Support complet OuiFirefox Support complet 1IE Support complet OuiOpera Support complet OuiSafari Support complet OuiWebView Android Support complet OuiChrome Android Support complet OuiEdge Mobile Support complet OuiFirefox Android Support complet 4Opera Android Support complet OuiSafari iOS Support complet OuiSamsung Internet Android Support complet Ouinodejs Support complet Oui
startsWithChrome Support complet 41Edge Support complet OuiFirefox Support complet 17IE Aucun support NonOpera Support complet 28Safari Support complet 9WebView Android Support complet OuiChrome Android Support complet 36Edge Mobile Support complet OuiFirefox Android Support complet 17Opera Android Support complet OuiSafari iOS Support complet 9Samsung Internet Android Support complet Ouinodejs Support complet 4.0.0
Support complet 4.0.0
Support complet 0.12
Désactivée
Désactivée From version 0.12: this feature is behind the --harmony runtime flag.
strike
Obsolète
Chrome Support complet OuiEdge Support complet OuiFirefox Support complet 1IE Support complet OuiOpera Support complet OuiSafari Support complet OuiWebView Android Support complet OuiChrome Android Support complet OuiEdge Mobile Support complet OuiFirefox Android Support complet 4Opera Android Support complet OuiSafari iOS Support complet OuiSamsung Internet Android Support complet Ouinodejs Support complet Oui
sub
Obsolète
Chrome Support complet OuiEdge Support complet OuiFirefox Support complet 1IE Support complet OuiOpera Support complet OuiSafari Support complet OuiWebView Android Support complet OuiChrome Android Support complet OuiEdge Mobile Support complet OuiFirefox Android Support complet 4Opera Android Support complet OuiSafari iOS Support complet OuiSamsung Internet Android Support complet Ouinodejs Support complet Oui
substr
Obsolète
Chrome Support complet OuiEdge Support complet OuiFirefox Support complet 1IE Support complet OuiOpera Support complet OuiSafari Support complet OuiWebView Android Support complet OuiChrome Android Support complet OuiEdge Mobile Support complet OuiFirefox Android Support complet 4Opera Android Support complet OuiSafari iOS Support complet OuiSamsung Internet Android Support complet Ouinodejs Support complet Oui
substringChrome Support complet OuiEdge Support complet OuiFirefox Support complet 1IE Support complet OuiOpera Support complet OuiSafari Support complet OuiWebView Android Support complet OuiChrome Android Support complet OuiEdge Mobile Support complet OuiFirefox Android Support complet 4Opera Android Support complet OuiSafari iOS Support complet OuiSamsung Internet Android Support complet Ouinodejs Support complet Oui
sup
Obsolète
Chrome Support complet OuiEdge Support complet OuiFirefox Support complet 1IE Support complet OuiOpera Support complet OuiSafari Support complet OuiWebView Android Support complet OuiChrome Android Support complet OuiEdge Mobile Support complet OuiFirefox Android Support complet 4Opera Android Support complet OuiSafari iOS Support complet OuiSamsung Internet Android Support complet Ouinodejs Support complet Oui
toLocaleLowerCaseChrome Support complet OuiEdge Support complet OuiFirefox Support complet 1IE Support complet OuiOpera Support complet OuiSafari Support complet OuiWebView Android Support complet OuiChrome Android Support complet OuiEdge Mobile Support complet OuiFirefox Android Support complet 4Opera Android Support complet OuiSafari iOS Support complet OuiSamsung Internet Android Support complet Ouinodejs Support complet Oui
toLocaleLowerCase.localeChrome ? Edge ? Firefox Support complet 55IE ? Opera ? Safari ? WebView Android ? Chrome Android ? Edge Mobile ? Firefox Android Support complet 55Opera Android ? Safari iOS ? Samsung Internet Android ? nodejs ?
toLocaleUpperCaseChrome Support complet OuiEdge Support complet OuiFirefox Support complet 1IE Support complet OuiOpera Support complet OuiSafari Support complet OuiWebView Android Support complet OuiChrome Android Support complet OuiEdge Mobile Support complet OuiFirefox Android Support complet 4Opera Android Support complet OuiSafari iOS Support complet OuiSamsung Internet Android Support complet Ouinodejs Support complet Oui
toLocaleUpperCase.localeChrome ? Edge ? Firefox Support complet 55IE ? Opera ? Safari ? WebView Android ? Chrome Android ? Edge Mobile ? Firefox Android Support complet 55Opera Android ? Safari iOS ? Samsung Internet Android ? nodejs ?
toLowerCaseChrome Support complet OuiEdge Support complet OuiFirefox Support complet 1IE Support complet OuiOpera Support complet OuiSafari Support complet OuiWebView Android Support complet OuiChrome Android Support complet OuiEdge Mobile Support complet OuiFirefox Android Support complet 4Opera Android Support complet OuiSafari iOS Support complet OuiSamsung Internet Android Support complet Ouinodejs Support complet Oui
toSource
Non-standard
Chrome Aucun support NonEdge Aucun support NonFirefox Support complet 1IE Aucun support NonOpera Aucun support NonSafari Aucun support NonWebView Android Aucun support NonChrome Android Aucun support NonEdge Mobile Aucun support NonFirefox Android Support complet 4Opera Android Aucun support NonSafari iOS Aucun support NonSamsung Internet Android Aucun support Nonnodejs Aucun support Non
toStringChrome Support complet OuiEdge Support complet OuiFirefox Support complet 1IE Support complet OuiOpera Support complet OuiSafari Support complet OuiWebView Android Support complet OuiChrome Android Support complet OuiEdge Mobile Support complet OuiFirefox Android Support complet 4Opera Android Support complet OuiSafari iOS Support complet OuiSamsung Internet Android Support complet Ouinodejs Support complet Oui
toUpperCaseChrome Support complet OuiEdge Support complet OuiFirefox Support complet 1IE Support complet OuiOpera Support complet OuiSafari Support complet OuiWebView Android Support complet OuiChrome Android Support complet OuiEdge Mobile Support complet OuiFirefox Android Support complet 4Opera Android Support complet OuiSafari iOS Support complet OuiSamsung Internet Android Support complet Ouinodejs Support complet Oui
trimChrome Support complet OuiEdge Support complet OuiFirefox Support complet 3.5IE Support complet 9Opera Support complet 10.5Safari Support complet 5WebView Android Support complet OuiChrome Android Support complet OuiEdge Mobile Support complet OuiFirefox Android Support complet 4Opera Android Support complet OuiSafari iOS Support complet OuiSamsung Internet Android Support complet Ouinodejs Support complet Oui
trimEndChrome Support complet 66
Support complet 66
Support complet Oui
Autre nom
Autre nom Cette fonctionnalité utilise le nom non-standard : trimRight
Edge ? Firefox Support complet 61
Support complet 61
Support complet 3.5
Autre nom
Autre nom Cette fonctionnalité utilise le nom non-standard : trimRight
IE Aucun support NonOpera Support complet 53Safari ? WebView Android Support complet 66
Support complet 66
Support complet Oui
Autre nom
Autre nom Cette fonctionnalité utilise le nom non-standard : trimRight
Chrome Android Support complet 66
Support complet 66
Support complet Oui
Autre nom
Autre nom Cette fonctionnalité utilise le nom non-standard : trimRight
Edge Mobile ? Firefox Android Support complet 61
Support complet 61
Support complet 4
Autre nom
Autre nom Cette fonctionnalité utilise le nom non-standard : trimRight
Opera Android Support complet 53Safari iOS ? Samsung Internet Android ? nodejs Support complet 10.0.0
trimStartChrome Support complet 66
Support complet 66
Support complet Oui
Autre nom
Autre nom Cette fonctionnalité utilise le nom non-standard : trimLeft
Edge ? Firefox Support complet 61
Support complet 61
Support complet 3.5
Autre nom
Autre nom Cette fonctionnalité utilise le nom non-standard : trimLeft
IE Aucun support NonOpera Support complet 53Safari ? WebView Android Support complet 66
Support complet 66
Support complet Oui
Autre nom
Autre nom Cette fonctionnalité utilise le nom non-standard : trimLeft
Chrome Android Support complet 66
Support complet 66
Support complet Oui
Autre nom
Autre nom Cette fonctionnalité utilise le nom non-standard : trimLeft
Edge Mobile ? Firefox Android Support complet 61
Support complet 61
Support complet 4
Autre nom
Autre nom Cette fonctionnalité utilise le nom non-standard : trimLeft
Opera Android Support complet 53Safari iOS ? Samsung Internet Android ? nodejs Support complet 10.0.0
valueOfChrome Support complet OuiEdge Support complet OuiFirefox Support complet 1IE Support complet OuiOpera Support complet OuiSafari Support complet OuiWebView Android Support complet OuiChrome Android Support complet OuiEdge Mobile Support complet OuiFirefox Android Support complet 4Opera Android Support complet OuiSafari iOS Support complet OuiSamsung Internet Android Support complet Ouinodejs Support complet Oui

Légende

Support complet  
Support complet
Aucun support  
Aucun support
Compatibilité inconnue  
Compatibilité inconnue
Fonctionnalité non-standard. Celle-ci peut être incorrectement supportée par les autres navigateurs.
Fonctionnalité non-standard. Celle-ci peut être incorrectement supportée par les autres navigateurs.
Obsolète. Les nouveaux sites web ne doivent pas utiliser cette fonctionnalité.
Obsolète. Les nouveaux sites web ne doivent pas utiliser cette fonctionnalité.
Voir les notes d'implémentation.
Voir les notes d'implémentation.
Une action explicite de l'utilisateur est nécessaire pour activer cette fonctionnalité.
Une action explicite de l'utilisateur est nécessaire pour activer cette fonctionnalité.
Cette fonctionnalité utilise un nom non-standard.
Cette fonctionnalité utilise un nom non-standard.

Voir aussi

Étiquettes et contributeurs liés au document

Contributeurs à cette page : SphinxKnight, grandoc, LCaba49, gabrielvv, tregagnon, teoli, fscholz, daniel35310, rat
Dernière mise à jour par : SphinxKnight,