Gli oggetti stringa in javascript

Nel linguaggio javascript le stringhe possono essere usate sia come dati primitivi e sia come oggetti.

Gli oggetti stringa sono detti oggetti String.

Un esempio pratico

Per spiegare la differenza tra le stringhe e gli oggetti String ricorro a un esempio pratico.

Quando digito

var myVar = "Questa è una stringa";

Javascript considera la variabile stringa come un dato primitivo, come i numeri o i valori booleani.

Se invece digito

var myVar = new String("Questa stringa è un oggetto");

Javascript considera la variabile stringa come un oggetto String.

Quando la stringa è trattata come un oggetto posso usare i vari metodi predefiniti per gli oggetti String.

Nota. In particolar modo sono molto utili i metodi che permettono di usare le espressioni regolari (RegExp) negli oggetti stringa.

Ad esempio, il metodo length mi permette di conoscere rapidamente il numero di caratteri della stringa

var myVar = new String("Questa stringa è un oggetto");
var numCaratteri = myVar.length;
document.write(numCaratteri);

In questo caso la stringa ha 27 caratteri

27

Posso usare i metodi se la stringa è un dato primitivo?

Fortunatamente il linguaggio permette l'utilizzo dei metodi anche se la stringa non è stata dichiarata come un oggetto.

In questi casi Javascript converte temporaneamente la stringa in un oggetto String ed esegue il metodo.

Una volta restituita l'informazione la stringa torna a essere un dato primitivo.

Esempio

Ad esempio, in questo codice la variabile stringa è un dato primitivo.

var myVar = "Questa è una stringa";
var numCaratteri = myVar.length;
document.write(numCaratteri);

Tuttavia, il metodo length funziona lo stesso e mi restituisce la lunghezza della stringa

20

I metodi degli oggetti String

Alcuni metodi usati negli oggetti String

  • charAt
    estrae un carattere dalla stringa
  • charCodeAt
    estrae il codice ASCII/Unicode di un carattere della stringa
  • indexOf
    cerca la posizione della prima occorrenza nella stringa
  • lastIndexOf
    cerca la posizione dell'ultima occorrenza nella stringa
  • length
    restituisce il numero dei caratteri della stringa
  • substr
    estrae una sottostringa da una posizione a un'altra in una stringa
  • substring
    estrae una sottostringa di lunghezza n a partire da una posizione
  • toLowerCase
    trasforma il testo in minuscolo
  • toUpperCase
    trasforma il testo in maiuscolo

Osservazioni

Alcune osservazioni utili sugli oggetti String

  • Quando confronto una stringa primitiva con un oggetto stringa Javascript confronta automaticamente i loro valori testuali.
    Ad esempio, in questo confronto javascript restituisce in output "sono uguali" anche se myVar è un dato primitivo e myVar2 è un oggetto String.

    var myVar = "Questa è una stringa";
    var myVar2 = new String("Questa è una stringa");
    if (myVar==myVar2) {
    document.write("Sono uguali");
    } else {
    document.write("Non sono uguali");
    }

    Output

    Sono uguali

  • Quando confronto due oggetti String, javascript confronta i riferimenti agli oggetti e non i valori testuali effettivi.
    Ad esempio, in questo confronto javascript restituisce in output "non sono uguali" perché, pur avendo lo stesso testo, i due oggetti myVar e myVar2 hanno riferimenti diversi nella memoria del computer.

    var myVar = new String("Questa è una stringa");
    var myVar2 = new String("Questa è una stringa");
    if (myVar==myVar2) {
    document.write("Sono uguali");
    } else {
    document.write("Non sono uguali");
    }

    Output

    Non sono uguali

E così via.

 


 

Segnalami un errore, un refuso o un suggerimento per migliorare gli appunti

FacebookTwitterLinkedinLinkedin
knowledge base

Le stringhe in Javascript

I metodi delle stringhe