IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Voir le flux RSS

Open source et architecture logicielle

Un objet StringBuffer pour JavaScript

Noter ce billet
par , 01/04/2016 à 00h32 (1368 Affichages)
En JavaScript nous avons le type String qui possède des méthodes intéressantes mais qui malheureusement est immuable. Les objets immuables sont des objets qui ne peuvent pas être modifier après leur création. Par exemple, si je crée un objet String qui s'appelle myString et que je l'initialise avec la valeur "my first sequence of char", je ne pourrai jamais la modifier pour qu'elle vaille "my amazing first sequence of char".

D'autre langage comme Java possède également un objet String immuable. Mais pour des raisons de commodité, propose également des chaine de caractères mutable (StringBuilder et plus récemment StringBuffer).

L'objet de ce billet sera de tenter de créer en JavaScript une classe StringBuffer pour modifier des chaines de caractères.
Cet exercice est purement pélagique dans la mesure où je créerai une classe grâce au sucre syntaxique que propose ES6. Je sais pertinemment que cette technique n'est pas très aimée des puristes qui préfèrent rester sur la notion fondatrice du paradigme objet en JavaScript : le prototypage. Néanmoins, ce sucre syntaxique me permettra d'une part de jouer au développeur professionnel JavaScript (que je ne suis pas) et surtout d'autre part d'assouvir mon goût de l'interdit.

Alors transgressons l'interdit ! Dans un premier temps je vais lister les méthodes que je compte implémenter dans ma classe StringBuffer en les commentant sommairement.
Cela permettra à ceux qui le souhaitent de me proposer des méthodes supplémentaires auxquelles je n’aurais pas pensées. Ou de me faire remarquer que cette classe a déjà été publiée quelque part et en m'indiquant à quel endroit y trouver le source. Voire, de dire que mon idée n'est pas très brillante, mais avec des arguments qui tiennent la route et des mots empruntés un vocabulaire qui ne froisse pas mon égo.

Le constructeur : StringBuffer(str) pour construire un StringBuffer initialisé avec le contenu de la chaine de caractères passée en argument. Si la chaine est ommise en argument alors le StringBuffer sera initialisée avec la chaine de caractères vide ("").
getSize() : retourne la longueur de la chaine (nombres de caractères comptés)
append(str) : ajoute (concatène) à la fin de la chaine StringBuffer la chaine de caractères passée en argument.
charAt(index) : retourne le caractère situé à la position index.
codePointAt(index) : retourne le code Unicode du caractère à l'index spécifié
delete(start, end) : efface les caractères compris la position start et end. Le caractère situé à la position start sera effacé mais pas celui situé à la position end.
deleteCharAt(index) : efface le caractère à la position spécifiée
insert(index, str) : insère la chaine de caractère passée en argument à l'index spécifié.
toString() : renvoie un objet immuable qui représente la chaine de caractères du StringBuffer.

Je publierai dans le prochain billet le code source de la classe StringBuffer que je vais tenter de développer d'ici là.

Envoyer le billet « Un objet StringBuffer pour JavaScript » dans le blog Viadeo Envoyer le billet « Un objet StringBuffer pour JavaScript » dans le blog Twitter Envoyer le billet « Un objet StringBuffer pour JavaScript » dans le blog Google Envoyer le billet « Un objet StringBuffer pour JavaScript » dans le blog Facebook Envoyer le billet « Un objet StringBuffer pour JavaScript » dans le blog Digg Envoyer le billet « Un objet StringBuffer pour JavaScript » dans le blog Delicious Envoyer le billet « Un objet StringBuffer pour JavaScript » dans le blog MySpace Envoyer le billet « Un objet StringBuffer pour JavaScript » dans le blog Yahoo

Commentaires