MICHELEPISANI.IT

Javascript: guida all'uso

Stringhe, numeri, boolean, NaN e undefined. Operatori logici, relazionali, ecc... e array

Tipi di dato, operatori e array

February 01
07:212015

Una stringa in Javascript è rappresentata da una serie di caratteri delimitati da doppi apici o da apici singoli. Possono pertanto esistere anche stringhe vuote con lo scopo di inizializzare o svuotare una variabile.
All'interno di una stringa possono essere presenti anche caratteri speciali purchè preceduti dal carattere di escape "\". Questo carattere permette inoltre di "giocare" con gli apici (doppi e singoli) all'interno di una stringa evitando errori di interpretazione della stessa.
In Javascript è possibile mandare a capo una stringa tramite la sequenza di caratteri "\n".

//Stringa vuota assegnata ad una variabile
var miastringa = "";

//Stringa assegnata ad una variabile
var miastringa = "Questa si può definire una stringa";

//Stringa su 2 righe
var miastringa = "Questa va a capo qui.\nContinuerà nella seconda riga";

//Uso promiscuo di apici
//Il risultato sarà: Un'altra "prova" per capire come gestire le stringhe
var miastringa = 'Un\'altra "prova" per capire come gestire le stringhe';



I valori booleani sono rappresentati dai tipici true e false.

var miovalore = true;



Oltre alle stringhe ed i boolean, come in tutti i linguaggi, è possibile dare spazio ai numeri.
In Javascript tutto dipende dal valore e la distinzione tra intero e decimale viene effettuata dal linguaggio stesso.

//Numero intero (può essere sia positivo che negativo)
var mionumero = 5;

//Numero decimale (può essere sia positivo che negativo)
var mionumero = -2.7;



Esistono inoltre numeri in notazioni esadecimale, scientifica, ecc... ma degno di nota è il valore NaN (che significa Not a Number) ovvero che il valore numerico non è definito. Un caso in cui può verificarsi la restituzione di NaN si ha quando si tenta di convertire in un numero intero un valore ottenuto dalla somma di una stringa e di un numero (che verrebbe altrimenti normalmente concatenato).

a='stringa';
b=11;
c=a+b;
//Questa prima alert restituirà "stringa11"
alert(c);
//Questa seconda alert restituirà invece "NaN"
alert(parseInt(c));

//Se avessi sommato invece "b + a" il risultato sarebbe stato 11 perchè avrebbe considerato
//i primi caratteri incontrati riconoscendoli come numeri.
//Oltre a parseInt() esiste anche parseFloat() che considera la presenza di eventuali decimali.



Altri due tipi di valori sono rappresentati da null e da undefined. Il primo (assegnabile) si ottiene quando il valore preso in esame non rientra in nessun'altro tipo di valori tra quelli fin'ora elencati. undefined invece viene restituito quando un valore non esiste, ad esempio il caso di una variabile non inizializzata.

a=null;
//Restituisce "null" (se fosse stato scritto Null avrebbe generato un errore)
alert(a);
//Restituisce "undefined" o genera un errore
alert(b);


Gli operatori, così come per altri linguaggi, hanno il fine di eseguire operazioni (operatori aritmetici), di stabilire una relazione d'ordine (opertori relazionali) o combinare espressioni booleane (operatori logici).
Gli operatori aritmetici sono i classici: +, -, *, /, % (rispettivamente: somma, sottrazione, moltiplicazione, divisione e modulo). A questi vanno aggiunti gli operatori di negazione (-) e di incremento (++ e --).
Gli operatori relazionali sono: <, <=, >, >=, ==, !=, ===, !== (rispettivamente: minore, minore o uguale, maggiore, maggiore o uguale, uguale, diverso, strettamente uguale, strettamente diverso). Da non confondere l'operatore di uguaglianza == con quello di assegnazione =.
Gli operatori logici sono rappresentati da: &&, ||, ! (AND, OR e NOT).
Viene inoltre fatto uso, spesso per alleggerire il codice, dell'operatore condizionale (?).

a = (12 + 3) * 5;
//a = 75;
b = ++a;
//b = 76; se fosse stato a++ anziche ++a il valore di "b" sarebbe valso sempre 75 mentre "a" sarebbe stato incrementato.
b <= 10
//false
(b == a) && (b != 75)
//true
b == 76 ? "valore true" : "valore false"
//operatore condizionale che restituirà il primo valore.


Quelli di cui sopra sono solo alcuni esempi di utilizzo di operatori ed espressione, ne esistono altri più complessi (come i "bit a bit") così come combinazioni degli stessi con possibilità di essere utilizzati non solo con i numeri ma anche con stringhe ed altri tipi di dato.

Un accenno anche agli array. Il loro scopo è quello di associare più valori ad un identificatore.
La sintassi è visibile nel codice sotto:

var ditaMano = ["pollice","indice","medio","anulare","mignolo"];



La numerazione dei valori all'interno di un array parte da zero per cui:

//Restituisce il dito in seconda posizione considerando che la prima è la posizione 0
var secondoDito = ditaMano[1];



I numeri definiti all'interno di un array non necessitano delle virgolette. Inoltre un elemento all'interno di un array può a sua volta essere un altro array, da qui si può evincere che esistono anche gli array multidimensionali:

var arrayMultidim = [[1, 5, 8], [3, 11, 5]];
//Se volessi ottenere il valore 11, ossia il secondo valore del secondo elemento dell'array:
var undici = arrayMultidim[1][1];



Tags

Autore

Michele Pisani

Michele Pisani

Ho uno spiccato orientamento al problem-solving, se è troppo facile non mi diverto :)
Credo nella volontà e nel cambiamento perchè hanno fatto della mia passione il mio pane quotidiano.
Se devo descrivermi con una sola parola direi... "Concretezza", la mia stretta di mano è una garanzia.

0 Commenti

Non ci sono commenti

Nessuno ha ancora commentato questo articolo, fallo tu per primo!

Scrivi un Commento

Scrivi un Commento

Il tuo indirizzo email non sarà pubblicato.
I campi contrassegnati da un * sono obbligatori

Articoli e Argomenti correlati

Il Canale YouTube in ITALIANO

1 VIDEO GRATIS ogni 2 settimane! ISCRIVITI!

Entra a far parte della community su Facebook

Categorie popolari

Iscriviti alla mia newsletter

La tua e-mail con me sarà al sicuro.
Non fornirò mai le tue informazioni a nessuno!

Ultimi commenti

Michele Pisani

Hai verificato se succede per tutte le pagine da un certo periodo di tempo in poi o solo su alcune?

Tecnowiz

Sono amministratore di un blog pure io... Intanto ti faccio i complimenti per questo articolo. …

Michele Pisani

Ciao Antonio, grazie per la fiducia :) In caso di più fogli è necessario inserire il codice del …

Antonio

Ciao Michele, ho acquistato il tuo libro che unitamente ai tuoi video sta diventando il mio corso …