1. Home
  2. Iterop Design
  3. Utiliser les scripts
  4. Recommandations sur les chaines de caractères (Bean JUEL)

Recommandations sur les chaines de caractères (Bean JUEL)

En IteropScript (se basant sur le JavaScript), certains caractères spéciaux sont interprétés, c’est-à-dire qu’ils ont un sens au sein du code dans lequel ils sont situés. C’est aussi le cas s’ils sont situés dans une chaîne de caractères.

Exemple :

var myVarJs = "Voici un " dans ma chaîne";

Ce morceau de code provoquera une erreur lors de l’exécution, car le au milieu de la chaîne sera interprété et signifie la fin de la chaîne de caractère. Le reste sera alors considéré comme du code mais ne signifie rien, ce qui provoquera, in fine, une erreur.

Les différents caractères spéciaux interprétés dans une chaîne de caractère

L’antislash \

L’antislash a deux utilités : il permet d’échapper l’interprétation du caractère qui le suit, et également combiné avec une lettre spécifique, agir comme un caractère spécial :

Attention

Il est donc nécessaire de faire très attention lorsque vous utilisez le caractère antislash : « \ ». Nous conseillons de recourir a un simple slash (“/”) dans vos données de référentiels métiers par exemple chaque fois que c’est possible.

L’utilisation de celui-ci permet d’échapper un caractère qui aurait un rôle dans la chaine de caractère. En effet :

  • \\ : Échappe un antislash
  • \” : Échappe un guillemet
  • \’ : Échappe une apostrophe

Prenons un exemple avec le caractère ” :

var myVar = "Voici un \" dans ma chaîne";

MyVar aura la valeur :

Voici un " dans ma chaîne

les caractères spéciaux sont :

  • \n : Nouvelle ligne.
  • \r : Retour a la ligne.
  • \v : Tabulation verticale.
  • \t : Tabulation.
  • \b : Tabulation arrière.
  • \f : Flux de formulaire.

Les dangers liés aux caractères spéciaux

Afin d’échanger les données, le système va avoir recours au format JSON (JavaScript Object Notation – Notation Objet issue de JavaScript). Le JSON est un format texte indépendant basé sur un sous-ensemble du langage de programmation JavaScript.

Même si le JSON est basé sur du JavaScript, ils sont différents sur un certain nombre de points, mais celui qui nous intéresse ici est le suivant : la gestion des caractères spéciaux.

Le JSON prend en charge la syntaxe d’échappement de la barre oblique inversée pour les caractères spéciaux mais tous les caractères ne sont pas reconnus par le format JSON.

Seuls ces caractères spéciaux sont pris en compte :

  • \n : Nouvelle ligne.
  • \r : Retour a la ligne.
  • \t : Tabulation.

La liste de caractères acceptés par le JSON est bien plus courte que celle du JavaScript.

Les fonctions de traduction du JavaScript au JSON s’occupent d’interpréter les chaines de caractère en format JSON mais ces fonctions sont très strictes et généreront une exception lorsqu’ils rencontreront un caractère non prévu par la spécification.

Il y a donc des risques d’erreurs d’interprétation conséquents en utilisant les caractères spéciaux dans vos différents scripts.

Information message

Nous conseillons, pour éviter tout problème d’interprétation, de n’utiliser les antislash que si c’est absolument nécessaire et de prioriser les slash.

Updated on 11 décembre 2020

Was this article helpful?

Related Articles