Avevamo già affrontato la questione inerente ai tipi di dato in PHP. In questa sede parleremo, invece, dei tipi di dato nel linguaggio JavaScript. I tipi di dato sono elementi che possono essere semplici o complessi. Il linguaggio JavaScript comprende cinque tipi di dato semplici o primitivi: numeri, stringhe, booleani, null e undefined. In questa guida utilizzeremo i primi tre.
JavaScript prevede anche un tipo di dato complesso, gli oggetti (object), al cui interno ricadono altri tipi di dato tra i quali gli array JavaScript, le espressioni regolari e le funzioni in JavaScript.
Tipi di dato semplici in JavaScript
Tipo di dato numero in JavaScript
Tutti conosciamo i numeri e la relativa aritmetica. Qualsiasi numero che si può esprimere solo come sequenza delle cifre da 0 a 9 è un numero di un tipo specifico, detto intero: 35 è un numero intero.
I numeri decimali vengono espressi grazie al punto, non con la virgola come faremmo in Italia, dove il punto (che in realtà dovrebbe stare in alto) indica le migliaia. Quindi nella sintassi JavaScript 3,5 non è un numero, mentre 3.5 è un numero decimale.
Esiste un altro carattere per rappresentare numeri molto grandi, ed è la e, che indica “esponente”; quanto alla sua destra equivale a “10 elevato alla”: con questa notazione, il numero “italiano” 4.655.000.000 diventa 4.655e9.
Come vedrai più avanti, proseguendo in questa guida, scoprirai che esistono anche numeri speciali, come Infinity o NaN (not a number), di grande aiuto in numerosi casi pratici.
Tipo di dato carattere (string) in JavaScript
Le stringhe, traduzione di string, sono conosciute come testo composto da caratteri. Poiché storicamente i caratteri venivano usati sia come testo, sia come comandi, in tutti i linguaggi di programmazione esistono particolarità che fanno la stessa cosa, rendendo difficile immaginare se una sequenza di caratteri rappresenti un testo o una serie di comandi.
In generale, le stringhe sono inserite all’interno di virgolette. Certo, detta così sembra molto facile, ma forse non sai che esistono molti tipi di virgolette.
Virgolette singole, virgolette doppie o apici inversi (backticks) sono quelle usate nel linguaggio JavaScript. Devi fare molta attenzione quando le usi, perché non sempre sono interscambiabili!
‘ Virgoletta singola ‘
” Virgoletta doppia “
` apici inversi (backticks)`
“ virgolette da wordprocessor ”
Inoltre, se sei abituato a scrivere con un wordprocessor, non devi usarlo per scrivere codice JavaScript, perché questo usa un ulteriore tipo di virgolette, che ti da errore in caso di esecuzione.
Non per ultimo, una serie di caratteri speciali vengono inseriti nel testo preceduti dalla barra inversa (backslash): trovi queste sequenze di caratteri indicate come escape sequences.
Ecco le principali usate dal linguaggio JavaScript, nella lista di WikiPedia:
- \’ single quote
- \” double quote
- \\ backslash
- \n new line
- \r carriage return
- \t tab
- \b backspace
- \f form feed
- \v vertical tab – in alcuni casi, \x0B
Scrivendo
"Nome\nCognome"
E mandandolo in stampa, verrà visualizzato come
Nome
Cognome
Perché \n indica il newline, ovvero lo spostamento su una nuova linea.
Inserire dei numeri in una stringa li rende stringhe, quindi non sono direttamente utilizzabili per calcoli matematici.
Metodi per le stringhe in JavaScript
Per operare sulle stringhe bisogna conoscerle bene. Una cosa che devi sapere è che ciascun carattere di una stringa può essere raggiunto mettendone il numero d’ordine tra parentesi quadre.
let testo = "AUlab"
sottintende che
testo[0] = “A”
testo[1] = “U”
testo[2] = “l”
testo[3] = “a”
testo[4] = “b”
Un punto non banale è che le stringhe sono sostanzialmente costanti, cioè non possono essere modificate. Per ottenere quasi lo stesso risultato, dovrai usare una sintassi che… sfida le leggi del tempo!
testo = 'S' + testo[1] + testo[4]
ridefinirà “testo” come stringa di tre caratteri, ovvero S, U e b.
In questa assegnazione il tempo scorre da destra verso sinistra: prendi il carattere al posto 4, poi quello al posto 1, poi la S (fin qui testo=”AUlab”) e poi metti i tre caratteri in ordine inverso a quello di lettura in una stringa che vale SUb e alla quale viene dato il nome testo.
All’assegnazione ad una nuova stringa di un vecchio nome, il contenuto della stringa precedente viene cancellato e non esiste altro che la nuova stringa. Misteri del tempo!
Proviamo, ora, a fare una ricerca di base all’interno di una stringa. Vedrai molte cose nuove!
Questa ricerca si fa applicando indexOf alla stringa testo:
let testo = 'Ricerca di R'; alert(testo.indexOf('Ricerca'));
Il risultato sarà il seguente:
Innanzitutto notiamo alert, che rende la risposta all’interno di un box con richiesta di conferma. Si tratta di un metodo, ovvero una funzione specifica di quel tipo di oggetto.
Ecco perché digitando alert(testo.indexOf(‘Ricerca’)); sarà un piccolo box a comunicarti la risposta:
0
cioè zero: la stringa “Ricerca” è stata trovata all’interno di testo, e parte dal primo carattere, quello di posizione 0.
Se, poi, chiedi una stringa che non è presente in testo, ad esempio AUlab:
alert(testo.indexOf('AUlab'));
La risposta sarà -1, ad indicare che la ricerca non ha avuto successo.
Ora prova
alert(testo.indexOf("di"));
Puoi immaginare come risponderà la console?
Infine, chiedendo di trovare ‘R’, la risposta sarà sempre e solo 0. Dentro alla stringa testo, di “R” ce ne sono due, ma questo metodo trova solo la prima occorrenza da sinistra.
Javascript substring: il metodo substring() in Javascript
Il metodo substring() è un metodo incorporato nelle stringhe JavaScript che consente di estrarre una parte specifica di una stringa. Prende due parametri: l’indice di inizio e l’indice di fine della sottostringa desiderata. Il metodo quindi restituisce la sottostringa compresa tra gli indici specificati, inclusivo dell’indice di inizio ma esclusivo dell’indice di fine.
La sintassi del metodo substring() in JavaScript è la seguente:
stringa.substring(indiceInizio, indiceFine);
L’indiceInizio è l’indice iniziale della sottostringa desiderata. Se negativo o non specificato, viene considerato come 0.
L’indiceFine è l’indice finale della sottostringa desiderata. Se non specificato, il metodo considererà la lunghezza totale della stringa come indiceFine.
Per comprendere meglio come funziona il metodo substring() in JavaScript, consideriamo alcuni esempi pratici:
let str = "Hello, world!"; let sottostringa1 = str.substring(0, 5); console.log(sottostringa1); // Output: "Hello" let sottostringa2 = str.substring(7, 12); console.log(sottostringa2); // Output: "world" let sottostringa3 = str.substring(7); console.log(sottostringa3); // Output: "world!"
I metodi che operano sulle stringhe sono molti. Puoi trovare altri esempi in questa pagina di Mozilla, purtroppo in inglese.
Tipo di dato booleano e logico in JavaScript
I classici valori booleani sono vero (true) e falso (false). Sono molto usati nella programmazione informatica per la verifica di condizioni:
10 > 9 porta al risultato true