Stringhe JavaScript

Corso consigliato:

Stringhe JavaScript

Le stringhe JavaScript vengono utilizzate per memorizzare e manipolare il testo.

Esempio

Le stringhe JavaScript sono zero o più caratteri racchiusi tra virgolette.

Prova tu stesso

var x = \"Bill Gates\";

Esempio

Puoi usare virgolette singole o doppie:
var carname = \"Porsche 911\";

Prova tu stesso

var carname = 'Porsche 911';

Esempio

Puoi usare virgolette in una stringa, purché non corrispondano alle virgolette che racchiudono la stringa:
var answer = \"It's good to see you again!\";
var answer = \"He is called 'Bill'\";

Prova tu stesso

var answer = 'He is called \"Bill\"';

Lunghezza della stringa Proprietà nativa Può restituire la lunghezza di una stringaLunghezza:

Esempio

var txt = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
var sln = txt.length;

Prova tu stesso

Caratteri speciali

Poiché la stringa deve essere racchiusa tra virgolette, JavaScript potrebbe interpretare male questa stringa:

var y = "La Cina è la terra natale della porcellana, quindi china è "e" China (Cina)" ha lo stesso nome.";

Questa stringa verrà divisa in "La Cina è la terra natale della porcellana, quindi china è "e".

Un metodo per evitare questo problema è utilizzare Carattere di escape backslash.

Il carattere di escape backslash trasforma i caratteri speciali in caratteri di stringa:

Codice Risultato Descrizione
\' Virgoletto singolo Virgoletto singolo
\" " Virgolette doppie
\\\ \ Backslash

Esempio

Sequenza \" Inserire virgolette doppie all'interno di una stringa:

Esempio

var x = "La Cina è la terra d'origine della porcellana, quindi china è omografa con\"China (Cina)\"."

Prova tu stesso

Sequenza \' Inserire un virgoletta singola all'interno di una stringa:

Esempio

var x = 'It\'s good to see you again';

Prova tu stesso

Sequenza \\\ Inserire un backslash all'interno di una stringa:

Esempio

var x = "Il carattere \\ è chiamato backslash.";

Prova tu stesso

Caratteri di escape (\)possono anche essere utilizzate per inserire altri caratteri speciali all'interno di una stringa.

Altre sei sequenze di escape valide in JavaScript:

Codice Risultato
\b Tasto di retrocessione
\f Pagine
\n Nuova riga
\r Inserimento
\t Tab orizzontale
\v Tab verticale

Questi sei caratteri di escape sono stati progettati originariamente per controllare le macchine da scrivere, i telex e i fax. Non hanno alcun significato in HTML.

Righe di codice lunghe

Per una leggibilità ottimale, gli sviluppatori di solito evitano di superare 80 caratteri per riga.

Se una istruzione JavaScript non si adatta a una riga intera, il miglior punto di divisione è dopo un operatore:

Esempio

document.getElementById("demo").innerHTML =
"Hello Kitty.";

Prova tu stesso

Puoi ancheAll'interno di una stringaInserire una riga di testo, utilizzando un singolo backslash:

Esempio

document.getElementById("demo").innerHTML = "Hello \
Kitty!";

Prova tu stesso

\ Il metodo non è lo standard ECMAScript (JavaScript).

Alcuni browser non permettono nemmeno \ Spazio dopo il carattere.

Il modo più sicuro per inserire una riga di testo lunga (ma un po' lento) è utilizzare l'addizione di stringhe:

Esempio

document.getElementById("demo").innerHTML = "Hello" + 
"Kitty!";

Prova tu stesso

Non è possibile effettuare una riga di codice di codice con la barra obliqua di escape:

Esempio

document.getElementById("demo").innerHTML = \ 
"Hello Kitty!";

Prova tu stesso

Le stringhe possono essere oggetti

Di solito, le stringhe JavaScript sono valori primitivi, create tramite modo letterale:

var firstName = "Bill"

Ma le stringhe possono anche essere definite tramite il termine new Definito come oggetto:

var firstName = new String("Bill")

Esempio

var x = "Bill";
var y = new String("Bill");
// typeof x tornerà stringa
// typeof y tornerà oggetto

Prova tu stesso

Non creare stringhe come oggetti. Può rallentare l'esecuzione.

new La parola chiave può complicare il codice. Può anche produrre risultati inaspettati:

Quando si utilizza == Con l'operatore uguale, le stringhe uguali sono uguali:

Esempio

var x = "Bill";             
var y = new String("Bill");
// (x == y) è true perché il valore di x e y è uguale

Prova tu stesso

Quando si utilizza === Quando si utilizza l'operatore ===, le stringhe uguali sono diverse perché === L'operatore deve essere uguale sia per tipo che per valore.

Esempio

var x = "Bill";             
var y = new String("Bill");
// (x === y) è false perché x e y sono di tipo diverso (stringa e oggetto)

Prova tu stesso

E anche peggio. Gli oggetti non possono essere confrontati:

Esempio

var x = new String("Bill");             
var y = new String("Bill");
// (x == y) è false perché x e y sono oggetti diversi

Prova tu stesso

Esempio

var x = new String("Bill");             
var y = new String("Bill");
// (x === y) è false perché x e y sono oggetti diversi

Prova tu stesso

Attenzione alla differenza tra (x==y) e (x===y).

Gli oggetti JavaScript non possono essere confrontati, il confronto di due JavaScript sempre restituirà false.