Les chaînes de caractères en JavaScript / TypeScript
En JavaScript, il existe 3 façons d'écrire des chaînes de caractères.
guillemets simples ''
Avec les guillemets simples ''
:
console.log('Hello world!')
Si on veut avoir un guillemet simple dans la chaîne, il faudra l'échapper, c'est-à-dire le faire précéder d'un anti-slash \
:
console.log('J\'adore JavaScript!')
guillemets doubles ""
On aura exactement la même chose avec des guillemets doubles ""
:
console.log("Hello world!")
Si on veut avoir un guillemet simple dans la chaîne, pas besoin de l'échapper :
console.log("J'adore JavaScript!")
En revanche, si on veut des guillemets doubles, il faudra les échapper :
console.log("Et c'est là qu'il a dit : \"J'adore le JavaScript\"")
Backticks ou backquotes ` `
On peut aussi créer des chaînes de caractères avec des backticks (`
) :
console.log(`Hello world!`)
Et donc pas besoin d'échapper ni les '
, ni les"
:
console.log(`Et c'est là qu'il a dit : "J'adore le JavaScript"`)
Les backticks ` `
permettent le multiligne
Contrairement aux chaînes de caractères créées avec les guillemets simples ou doubles, les chaînes de caractères créées avec les backticks sont multilignes :
const multilineText = `Un vieil étang
Une grenouille qui plonge,
Le bruit de l'eau.`
Les backticks ` `
permettent l’interpolation
Surtout, les backticks ont un super-pouvoir : l'interpolation. On peut écrire :
var language = 'JavaScript'
console.log(`Et c'est là qu'il a dit : "J'adore le ${language}"`)
Et ${language}
sera remplacé par le contenu de la variable language
au moment de l'exécution.
Il y a plus de choses à dire sur ces littéraux de gabarits (template literals).