# Programmation JavaScript/Références/Objets/String

* Introduction
    Programmer en deux minutes
*   * Page wiki
*   * Compteur en temps réel
*   * Site dans un document
* Outils de développement
* Syntaxe
** Ligne d'instruction
** Ordre d'évaluation
** Bloc d'instructions
** Identificateurs
** Expression littérale
** Commentaire
** Mots réservés
** Variables
** Opérateurs
** Structures de contrôle
** Exceptions et erreurs
** Fonctions utilisateur
** Évènement
* Objets prédéfinis
** window
** document
** navigator
** Array
** Boolean
** Date
** Error
** Function
** Math
** Number
** Object
** String
** Element
** RegExp
* Fonctions prédéfinies
* Programmation avancée
** Opérateurs de bits
** Fermeture
** Programmation objet
** Notation JSON
** AJAX
** Stockage
** Générateurs
** Interface DOM
** Objets Microsoft
* Frameworks
** Dojo
    Hello World
    Widgets
    Ressources
** jQuery
** Node.js
** React.js
* Tests
** Ava
** Jest
** Cypress
* Débogage
* Erreurs connues
* Références
* Introduction
    Programmer en deux minutes
*   * Page wiki
*   * Compteur en temps réel
*   * Site dans un document
* Outils de développement
* Syntaxe
** Ligne d'instruction
** Ordre d'évaluation
** Bloc d'instructions
** Identificateurs
** Expression littérale
** Commentaire
** Mots réservés
** Variables
** Opérateurs
** Structures de contrôle
** Exceptions et erreurs
** Fonctions utilisateur
** Évènement
* Objets prédéfinis
** window
** document
** navigator
** Array
** Boolean
** Date
** Error
** Function
** Math
** Number
** Object
** String
** Element
** RegExp
* Fonctions prédéfinies
* Programmation avancée
** Opérateurs de bits
** Fermeture
** Programmation objet
** Notation JSON
** AJAX
** Stockage
** Générateurs
** Interface DOM
** Objets Microsoft
* Frameworks
** Dojo
    Hello World
    Widgets
    Ressources
** jQuery
** Node.js
** React.js
* Tests
** Ava
** Jest
** Cypress
* Débogage
* Erreurs connues
* Références
[ Modifier le sommaire ]

## Encodage

À priori, le type String de JavaScript contient du texte dans un encodage donné. En particulier, cet encodage peut-être lié à UTF-16.
Par exemple, Ecma 262 indique en §4.3.16 qu'une String value qui est une séquence d'entiers 16 bits non signés. Chaque multiplet de 16-bits est une unité de code de texte UTF-16. ECMAScript ne contraint pas ces valeurs.

## Propriétés

   * length
       nombre de caractères, ou plus précisément, nombre d'unités de code de 16 bits.

## Méthodes

   * charAt
       rechercher un signe à une position
       renvoie le caractère (en fait l'unité de code) situé dans la chaîne à l'offset indiqué, ou en son absence, la chaîne vide.
   * charCodeAt
       valeur de code Latin-1 à une position
       renvoie la valeur du caractère (en fait l'unité de code) situé dans la chaîne à l'offset indiqué, ou en son absence, le nombre NaN.
   * concat
       concaténer des chaînes de caractères.
   * fromCharCode
       créer une chaîne de caractères en Latin 1
       créer une chaîne à partir de la liste des unités de codes numériques indiquée.
   * indexOf
       rechercher la position d'un caractère
       Recherchrche une sous chaîne à parti d'un position, et renvoie l'offset où se trouve la sous-chaîne, et -1 lorsque la sous-chaîne n'est pas trouvée.
   * lastIndexOf
       rechercher la dernière position d'un caractère.
   * match
       appliquer une expression régulière
       Renvoie vrai, faux ou nul en fonction de l'éventuelle correspondance.
   * padStart et padEnd
       compléter la chaine avec un caractère, jusqu'à une certaine taille. Souvent utilisé pour afficher des nombres en commençant pas des 0. Ex : console.log('1'.padStart(3, '0')); affiche "001".
   * replace
       appliquer une expression régulière et remplacer.
   * search
       chercher avec une expression régulière.
   * slice
       extraire une partie d'une chaîne de caractères. Ex : console.log("chien|chat".slice(0, ("chien|chat").indexOf('|'))); renvoie "chien".
   * split
       scinder une chaîne de caractères.
   * substr
       rechercher une sous-chaîne de caractères à partir d'une position.
   * substring
       rechercher une sous-chaîne de caractères.
   * toLowerCase
       tout écrire en minuscules
       Renvoie une chaîne ou chaque caractère BMP a été converti en minuscule. Les surrogates ne sont pas modifiés.
   * toUpperCase
       tout écrire en majuscules
       Renvoie une chaîne ou chaque caractère BMP a été converti en majuscule. Les surrogates ne sont pas modifiés.

## Références

* ↑ https://fr.wikibooks.org/wiki/%C3%80_la_d%C3%A9couverte_d'Unicode