Articolo originale: https://www.freecodecamp.org/news/javascript-multiline-string-how-to-create-multi-line-strings-in-js/

In questo articolo, imparerai tre modi diversi per creare stringhe multi-riga in JavaScript.

Parlerò prima delle basi delle stringhe in JavaScript ed esaminerò i template literal. Poi impareremo come creare una stringa che occupa più righe con l'aiuto di esempi di codice.

Ecco quello che tratteremo:

  1. Cos'è una stringa in JavaScript?
    1.1 Cosa sono i template literal? Come e perché usarli
  2. Come creare stringhe multi-riga
    2.1 Come creare stringhe multi-riga con un template literal
    2.2 Come creare stringhe multi-riga con l'operatore +
    2.3 Come creare stringhe multi-riga con l'operatore \

Cos'è una stringa in JavaScript? Un'introduzione su come creare una stringa in JS

Le stringhe costituiscono un efficace modo per comunicare tramite testo.

Una stringa è una sequenza ordinata di caratteri. In modo specifico, una stringa è una sequenza di uno o più caratteri che possono essere lettere, numeri o simboli (come i segni di interpunzione).

Esistono tre modi per creare una stringa in JavaScript:

  • Usando le virgolette singole.
  • Usando le virgolette doppie.
  • Usando i backtick (accento grave).

Ecco come creare una stringa con delle virgolette singole:

// stringa creata usando le virgolette singole ('')
let favePhrase = 'Hello World!';

Ecco come creare una stringa con delle virgolette doppie:

// stringa creata usando le virgolette doppie ("")
let favePhrase = "Hello World!";

Ecco come creare una stringa usando i backtick:

// stringa creata usando i backtick (``)
let favePhrase = `Hello World!`;

Quest'ultimo modo per creare una stringa in JavaScript è detto template literal.

Ho creato una variabile chiamata favePhrase.

All'interno della variabile, ho salvato la stringa Hello World!, che ho creato usando tre modi diversi.

Per vedere l'output della stringa nella console del browser, passa il nome della variabile a console.log();.

Ad esempio, volendo vedere l'output della stringa creata con le virgolette doppie:

// stringa creata usando le virgolette doppie ("")
let favePhrase = "Hello World!";

// stampa la stringa sulla console
console.log(favePhrase);

// output

// Hello World!

Creare stringhe usando virgolette singole e doppie funziona alla stesso modo, quindi non c'è differenza tra le due.

Puoi scegliere di usarle entrambe in un file. Detto ciò, è preferibile rimanere coerenti all'interno di un file.

Quando crei una stringa assicurati che il tipo di virgoletta sia lo stesso da entrambi i lati.

// Non fare questo
let favePhrase = 'Hello World!";

console.log(favePhrase);

// output

// Uncaught SyntaxError: Invalid or unexpected token (at test.js:2:18)

Un'altra cosa da notare è che puoi usare un tipo di virgoletta all'interno di un altro.

Ad esempio, puoi usare virgolette doppie all'interno di virgolette singole, in questo modo:

let favePhrase = 'My fave phrase is "Hello World"!';

Assicurati che le virgolette interne non siano uguali a quelle esterne perché questo causerebbe un errore:

// Non fare questo
let favePhrase = 'My fave phrase is 'Hello World'! ';

console.log(favePhrase)


// output

//Uncaught SyntaxError: Unexpected identifier (at test.js:2:38)

Accade la stessa cosa se provi a usare l'apostrofo all'interno di virgolette singole:

// Non fare questo
let favePhrase = 'My fave phrase is "Hello world"! Isn't it awesome?';

console.log(favePhrase);

// output

// Uncaught SyntaxError: Unexpected identifier (at test.js:3:56)

Ho usato virgolette doppie all'interno di virgolette singole. Fin qui tutto bene, ma i problemi sono iniziati quando ho usato l'apostrofo.

Per poter utilizzare le virgolette singole occorre utilizzare il carattere di escape \:

let favePhrase = 'My fave phrase is \'Hello World\'! ';

console.log(favePhrase);

// output

// My fave phrase is 'Hello World'! 

Vale lo stesso per l'apostrofo (in fondo si tratta dello stesso carattere):

let favePhrase = 'My fave phrase is "Hello world"! Isn\'t it awesome?';

console.log(favePhrase);

// output

// My fave phrase is "Hello world"! Isn't it awesome?

Cosa sono i template literal in JavaScript? Come e perché usare i template literal in JavaScript

Precedentemente abbiamo creato un template literal usando i backtick.

I template literal sono stati introdotti con ES6 e consentono di svolgere operazioni più complesse usando le stringhe.

Una di queste è l'abilità di incorporare una variabile inline all'interno di una stringa, in questo modo:

let firstName = 'John';
let lastName = 'Doe';

console.log(`Hi! My first name is ${firstName} and my last name is ${lastName}!`);

// output

//Hi! My first name is John and my last name is Doe!

Nell'esempio qui sopra ho creato due variabili, firstName e lastName, che contengono rispettivamente un nome e un cognome.

Usando console.log(), ho stampato una stringa creata con i backtick, anche detta template literal.

All'interno della stringa, ho incorporato le due variabili.

A questo scopo, occorre racchiudere il nome della variabile in ${} – questa pratica è detta interpolazione di stringhe, e consente di inserire qualsiasi variabile senza necessità di ricorrere alla concatenazione, come qui sotto:

let firstName = 'John';
let lastName = 'Doe';

console.log("Hi! My first name is " + firstName + " and my last name is " + lastName + "!");

// output

// Hi! My first name is John and my last name is Doe!

Un'altra cosa che i template literal ti consentono di fare è di usare al loro interno virgolette singole e doppie e apostrofi senza bisogno di dover eseguire l'escape:

let favePhrase = `My fave phrase is "Hello World" ! Isn't it awesome?`

console.log(favePhrase);

// output

// My fave phrase is "Hello World" ! Isn't it awesome?

I template literal ti permettono anche di creare stringhe su più righe, come impareremo nelle prossime sezioni.

Come creare stringhe multi-riga in JavaScript

Esistono tre modi per creare stringhe che occupano più righe:

  • Usando i template literal
  • Usando l'operatore + – l'operatore di concatenazione in JavaScript.
  • Usando l'operatore \ – l'operatore backslash o carattere di escape.

Se scegli di usare le virgolette singole o doppie invece dei template literal per creare una stringa che occupa più righe, dovrai usare l'operatore + o l'operatore \.

Come creare stringhe multi-riga con i template literal in JavaScript

I template literal ti permettono di creare una stringa che occupa più righe:

let learnCoding = `How to start learning web development?
- Learn HTML
- Learn CSS
- Learn JavaScript
Use freeCodeCamp to learn all the above and much, much more !
`

console.log(learnCoding);


// output

// How to start learning web development?
// - Learn HTML
// - Learn CSS
// - Learn JavaScript
// Use freeCodeCamp to learn all the above and much, much more !

Usare i template literal è il modo più diretto per creare delle stringhe multi-riga.

Come creare stringhe multi-riga usando l'operatore + in JavaScript

Consideriamo lo stesso esempio della sezione precedent. Ecco come riscriverlo usando l'operatore +:

let learnCoding = 'How to start learning web development?' +
' - Learn HTML' +
' - Learn CSS' +
' - Learn JavaScript' +
' Use freeCodeCamp to learn all the above and much, much more!'


console.log(learnCoding);

// output

// How to start learning web development?  - Learn HTML - Learn CSS - Learn JavaScript Use freeCodeCamp to learn all the above and much, much more!

Occorre anche includere il carattere nuova riga \n per far apparire le frasi su righe diverse:

let learnCoding = 'How to start learning web development?\n' +
' - Learn HTML\n' +
' - Learn CSS\n' +
' - Learn JavaScript\n' +
' Use freeCodeCamp to learn all the above and much, much more!'


console.log(learnCoding);

// output

//How to start learning web development?
// - Learn HTML
// - Learn CSS
// - Learn JavaScript
// Use freeCodeCamp to learn all the above and much, much more!

Come creare stringhe multi-riga usando l'operatore \ in JavaScript

Se volessi usare l'operatore \, ecco come riscrivere l'esempio della sezione precedente:

let learnCoding = 'How to start learning web development? \n \
 - Learn HTML \n \
 - Learn CSS\n  \
 - Learn JavaScript \n \
Use freeCodeCamp to learn all the above and much, much more!'
 

console.log(learnCoding);

// output

// let learnCoding = 'How to start learning web development? \n \
// - Learn HTML \n \
// - Learn CSS\n  \
// - Learn JavaScript \n \
//Use freeCodeCamp to learn all the above and much, much more!'


console.log(learnCoding);

In questo esempio, ho creato una stringa multi-riga usando virgolette singole.

Ho dovuto usare il carattere nuova riga \n, seguito dall'operatore \ per far apparire la stringa su più righe.

Assicurati di posizionare l'operatore \ dopo il carattere nuova riga \n.

Conclusione

Ecco fatto! Adesso sai come creare delle stringhe multi-riga in JavaScript.

Per imparare di più su JavaScript, dai un'occhiata alla certificazione di freeCodeCamp Algoritmi e Strutture di Dati in JavaScript.

Si tratta di un corso gratuito ben strutturato in cui imparerai in modo interattivo. Alla fine dovrai costruire 5 progetti per ottenere la certificazione e consolidare le tue conoscenze.

Grazie per aver letto questo articolo!