STRINGHE IN JAVASCRIPT
Una stringa in javascript è una sequenza di elementi immutabile a 16 bit senza segno. Ogni elemento nella maggior parte dei casi rappresenta un carattere Unicode. Questa regola non vale sempre, riporto un esempio di codice dove nel caso di un emoji servono due byte. ES2015 ha introdotto i template literal. Possiamo definire una stringa attraverso il carattere backtick. Per definire il backtick usiamo:
Alt Gr + su Linux Alt+96 su Windows Alt +9 su Mac
Le stringhe servono per memorizzare e manipolare il testo. Una stringa è composta da zero o più caratteri scritti tra virgolette.
let text = “Mario Rossi“;
Puoi usare virgolette singole o doppie:
let carName1 = “Fiat 500“;
let carName2 = ‘Fiat 500‘;
Puoi usare le virgolette all’interno di una stringa, purché non corrispondano alle virgolette che circondano la stringa:
let answer1 = “It’s alright“;
let answer2 = “He is called ‘Johnny‘”; //He is called ‘Johnny’
let answer3 = ‘He is called “Johnny“‘; //He is called “Johnny”
STRING LENGTH
Per trovare la lunghezza di una stringa, utilizzare la proprietà length incorporata:
let text = “ABCDEFGHIJKLMNOPQRSTUVWXYZ“;
let length = text.length; //restituisce 26
CARATTERI DI ESCAPE
Poiché le stringhe devono essere scritte tra virgolette, JavaScript fraintenderà questa stringa:
let text = “We are the so-called “Vikings” from the north.“;
Essa verrà tagliata a “We are the so-called “. La soluzione per evitare questo problema consiste nell’utilizzare il carattere di escape backslash. Tale carattere (\) trasforma i caratteri speciali in caratteri stringa:
CARATTERI DI ESCAPE
La sequenza \” inserisce una doppia virgoletta in una stringa:
let text = “We are the so-called \”Vikings\” from the north.“;
// We are the so-called “Vikings” from the north.
La sequenza \’ inserisce una virgoletta singola in una stringa:
let text= ‘It\’s alright.‘; // It’s alright
La sequenza \\ inserisce un backslash in una stringa:
let text = “The character \\ is called backslash.“;
// The character \ is called backslash.
Per una migliore leggibilità, i programmatori spesso preferiscono evitare righe di codice più lunghe di 80 caratteri. Se un’istruzione JavaScript non si adatta a una riga, il posto migliore per interromperla è dopo un operatore. Puoi anche spezzare una riga di codice all’interno di una stringa di testo con una singola barra rovesciata:
document.getElementById(“demo”).innerHTML = “Ciao \
Mondo!“; //Ciao Mondo!
Il metodo con \ non è il metodo preferito. Potrebbe non avere il supporto universale. Alcuni browser non consentono spazi dietro il carattere \. Un modo più sicuro per spezzare una stringa è usare l’addizione di stringhe:
document.getElementById(“demo”).innerHTML = “Ciao ” +
“Mondo!“; //Ciao Mondo!
STRINGHE JAVASCRIPT COME OGGETTI
Normalmente, le stringhe JavaScript sono valori primitivi:
let x = “John“;
Ma le stringhe possono anche essere definite come oggetti con la parola chiave new:
let y = new String(“John“);
Quando si utilizza l’operatore ==, x e y sono uguali esempio sotto riportato.
let x = “John“;
let y = new String(“John“);
Quando si utilizza l’operatore ===, x e y non sono uguali esempio sotto riportato.
let x = new String(“John“);
let y = new String(“John“);
(x == y) true or false? \\false
(x === y) true or false? \\false
NB: Il confronto di due oggetti JavaScript restituisce sempre false.
APPROFONDIMENTO AI
Le stringhe in JavaScript sono una tipologia di dato primitivo utilizzata per rappresentare una sequenza di caratteri, che possono includere lettere, numeri, simboli e persino emoji. Ogni carattere in una stringa ha un indice numerico, che parte da 0 e permette di accedere a un carattere specifico all’interno della stringa.
Caratteristiche principali delle stringhe in JavaScript:
1. Definizione delle stringhe:
Le stringhe possono essere definite usando tre tipi di delimitatori:
•Apici singoli (‘…’)
•Apici doppi (“…”)
•Template literal o stringhe letterali con backtick (\…“)
Esempi:
let string1 = ‘Questa è una stringa‘;
let string2 = “Anche questa è una stringa“;
let string3 = `Ecco una stringa con template literal`;
2. Immutabilità:
Le stringhe in JavaScript sono immutabili. Questo significa che una volta creata, una stringa non può essere modificata direttamente. Ogni operazione che sembra modificare una stringa in realtà restituisce una nuova stringa. Ad esempio:
let str = ‘Ciao‘;
str[0] = ‘B‘; // Non modifica la stringa originale
console.log(str); // Risultato: “Ciao”
3. Accesso agli elementi:
Puoi accedere ai singoli caratteri di una stringa usando la notazione con parentesi quadre o il metodo .charAt().
let stringa = ‘JavaScript‘;
console.log(stringa[0]); // Risultato: “J”
console.log(stringa.charAt(1)); // Risultato: “a”
4. Concatenazione:
Le stringhe possono essere concatenate (unite) utilizzando l’operatore + o l’operatore +=. Con i template literal, invece, è possibile interpolare variabili all’interno di una stringa usando ${}.
let saluto = ‘Ciao‘;
let nome = ‘Marco‘;
console.log(saluto + ‘ ‘ + nome); // Risultato: “Ciao Marco”
console.log(`${saluto}, ${nome}!`); // Risultato: “Ciao, Marco!”
5. Metodi delle stringhe: JavaScript fornisce vari metodi utili per lavorare con le stringhe, tra cui:
•.length: restituisce la lunghezza della stringa.
let parola = ‘JavaScript‘;
console.log(parola.length); // Risultato: 10
• .indexOf(): restituisce l’indice della prima occorrenza di un carattere o sottostringa. Se non trovato, restituisce -1.
let frase = ‘Benvenuto nel mondo di JavaScript’;
console.log(frase.indexOf(‘JavaScript‘)); // Risultato: 22
.slice(): estrae una parte della stringa e restituisce una nuova stringa.
let testo = ‘Programmazione in JavaScript‘;
console.log(testo.slice(18)); // Risultato: “JavaScript”
• .split(): divide la stringa in un array in base a un separatore specificato.
let lista = ‘mela,banana,arancia‘;
let frutti = lista.split(‘,‘); // Risultato: [“mela”, “banana”, “arancia”]
• .replace(): sostituisce una parte della stringa con un’altra. Può sostituire la prima occorrenza o tutte le occorrenze usando una espressione regolare.
let frase = ‘Mi piace JavaScript‘;
let nuovaFrase = frase.replace(‘JavaScript‘, ‘Python‘);
console.log(nuovaFrase); // Risultato: “Mi piace Python”
6. Template Literal: Con i backticks (`), puoi creare stringhe multi-linea o interpolare variabili ed espressioni JavaScript direttamente all’interno della stringa.
let nome = ‘Anna‘;
let età = 25;
let descrizione = `Il nome è ${nome} e ha ${età} anni.`;
console.log(descrizione); // Risultato: “Il nome è Anna e ha 25 anni.”
Differenze tra String e stringa primitiva
In JavaScript esistono due tipi di stringhe:
•Stringa primitiva: è semplicemente una sequenza di caratteri (es. ‘ciao’).
•Oggetto String: può essere creato usando il costruttore new String(). Tuttavia, le stringhe primitive sono generalmente preferite per via della loro semplicità e prestazioni migliori.
let primitiva = ‘ciao‘; // stringa primitiva
let oggettoString = new String(‘ciao‘); // oggetto String
Riassunto:
Le stringhe in JavaScript sono uno strumento potente e versatile per gestire testi e dati. Offrono numerosi metodi per manipolare, trasformare e analizzare il contenuto delle stringhe, rendendole essenziali in qualsiasi applicazione web o software basato su JavaScript.
Scrivi un commento