Passer au contenu principal
eLearner.app
Module 2 · Leçon 1 sur 45/32 dans le cours~8 min
Leçons du module (1/4)

Chaînes et littéraux de gabarits

Les chaînes de caractères (strings) sont des séquences de caractères. En JavaScript, tu peux les délimiter de trois manières, toutes équivalentes pour le moteur de rendu, mais avec un super-pouvoir réservé aux accents graves (backticks) :

JS
'apici singoli';
'apici doppi';
`backtick — i template literal`;

Les guillemets simples et doubles sont interchangeables : utilise celui qui te permet d'éviter d'avoir à échapper le caractère dans le texte contenant l'autre caractère :

JS
'L\'isola'; // l'apostrofo richiede escape
"L'isola"; // qui no
"Lui disse \"ciao\"";
'Lui disse "ciao"';

Caractères d'échappement

À l'intérieur de n'importe quelle chaîne, tu peux insérer des caractères "non imprimables" à l'aide de la barre oblique inverse (backslash) :

  • \n — a capo
  • \t — tabulazione
  • \\ — una backslash letterale
  • \' / \" — apice singolo / doppio letterale
JS
console.log('riga 1\nriga 2');
// riga 1
// riga 2

Gabarits de chaînes (template literals) : la syntaxe à utiliser par défaut

Les backticks débloquent deux fonctionnalités impossibles avec les autres délimiteurs :

  1. Chaînes multilignes sans échappement : les retours à la ligne littéraux sont autorisés.
  2. Interpolation : à l'intérieur de ${ … }, tu peux insérer n'importe quelle expression JS et sa valeur sera injectée dans le résultat.
JS
const nome = 'Anna';
const eta = 28;

const messaggio = `Ciao ${nome}, hai ${eta} anni.
Fra un anno ne avrai ${eta + 1}.`;

L'expression à l'intérieur de ${ … } ne se limite pas à un nom simple : il peut s'agir de tout élément produisant une valeur, y compris des appels de fonction et des opérateurs.

Concaténation avec +

Historiquement, les chaînes se composaient à l'aide de l'opérateur +. Cela fonctionne toujours et reste utile dans de rares cas (par exemple, pour construire une chaîne en plusieurs étapes) :

JS
const a = 'Ciao';
const b = 'mondo';
a + ', ' + b + '!'; // 'Ciao, mondo!'

À toi de jouer

Exercice#js.m2.l1.e1
Tentatives : 0Chargement…

Étant donné `name = 'Luca'` et `age = 30`, compose avec un gabarit de chaîne la chaîne 'Luca ha 30 anni.' (exactement ce texte) comme dernière expression.

Chargement de l'éditeur…
Afficher l'indice

Utilise les backticks et l'interpolation ${...} pour insérer les valeurs à l'intérieur de la chaîne.

Solution disponible après 3 tentatives

Exercice de révision

Exercice#js.m2.l1.e2
Tentatives : 0Chargement…

Étant donné deux prix `p1 = 7.5` et `p2 = 3.20`, renvoie comme dernière expression la chaîne 'Totale: 10.7 euro'.

Chargement de l'éditeur…
Afficher l'indice

À l'intérieur de ${...}, tu peux placer n'importe quelle expression, y compris p1 + p2.

Solution disponible après 3 tentatives