Node v4 et les versions actuelles de node
À partir de ES6 (et donc des versions de Node supérieures à v4), un nouveau type intrinsèque de "template literal" a été ajouté à Javascript (désigné par les barres obliques inversées "`") qui peut également être utilisé pour construire des chaînes de caractères de plusieurs lignes, comme dans le cas suivant :
`this is a
single string`
qui s'évalue à : 'this is a\nsingle string'
.
Notez que le saut de ligne à la fin de la première ligne est inclus dans la chaîne de caractères résultante.
Les littéraux de modèle ont été ajoutés pour permettre aux programmeurs de construire des chaînes dans lesquelles des valeurs ou du code peuvent être directement injectés dans un littéral de chaîne sans avoir à utiliser la fonction util.format
ou d'autres modèles, comme dans :
let num=10;
console.log(`the result of ${num} plus ${num} is ${num + num}.`);
qui imprimera "le résultat de 10 plus 10 est 20." à la console.
Anciennes versions du nœud
Les anciennes versions de node peuvent utiliser un caractère de "continuation de ligne", ce qui vous permet d'écrire des chaînes de caractères de plusieurs lignes, par exemple :
'this is a \
single string'
qui s'évalue à : 'this is a single string'
.
Notez que le saut de ligne à la fin de la première ligne est no inclus dans la chaîne de caractères résultante.
1 votes
Pourquoi diable auriez-vous besoin d'insérer des retours en ligne dure ? Rien dans le DOM ne supporte cela (à l'exception de "pre"), et tous les autres types de retour courants ne s'en soucient pas.
0 votes
Ainsi, je ne me retrouve pas avec des onglets à gauche sans retours à droite. J'aime avoir les deux ou aucun. Pour l'instant, j'utilise
print( '<div>')
pour imprimer mon HTML. Il n'a ni tabulations ni retours, ce qui est "soigné", mais il serait plus facile d'utiliser un script Perl.<<EOF..EOF
ou un fichier JSP de style Java. Quoi qu'il en soit, j'ai besoin de pouvoir saisir des variables dans la chaîne multi-lignes lorsqu'elle arrive. Je m'en passerai pour l'instant.9 votes
@jcolebrand : Node.JS n'est pas principalement concerné par la manipulation du DOM. C'est un environnement de développement d'applications complet. Voir nodejs.org
0 votes
@RoyTinker oui, mais il a appelé les navigateurs à l'époque, et en plus de cela, il a appelé les non-nautes.
\n
les implémentations, donc ... c'est à peu près uniquement les navigateurs.0 votes
@GeorgeBailey Si vous utilisez toujours stack overflow, pouvez-vous corriger la bonne réponse ici ?
0 votes
Bonjour @GeorgeBailey ! Merci d'être revenu. Oui, je demande à ce que la réponse acceptée soit remplacée par celle de Vijey, afin d'aider les autres personnes qui veulent savoir si JS dispose d'une fonctionnalité de chaîne multiligne.
0 votes
@GeorgeBailey Bien que la communauté ne soit pas d'accord, vous êtes l'auteur de la question et c'est donc votre prérogative. J'ai modifié la réponse actuelle pour la rendre plus claire.