5 marzo 2014

JavaScript: operare sui dati

Nel post precedente ci siamo occupati dei dati che vengono memorizzati nelle variabili.
Oggi vedremo come è possibile fare operazioni matematiche, di confronto o logiche con i dati.


Operatori matematici
+restituisce la somma tra due valori in caso di dati numerici; se applicato a stringhe diventa l'operatore di concatenazione
restituisce la differenza tra due valori
*restituisce il prodotto tra due valori
/restituisce il risultato della divisione tra due valori
%restituisce il modulo, cioè il resto della divisione tra due numeri

Gli operatori matematici seguono le regole delle espressioni aritmetiche; questa variabile
var espressione= 4 + 5 * 2 - 3;
avrà come valore 11, perché, per chi non se lo ricordasse smile, la moltiplicazione viene eseguita prima dell'addizione e della sottrazione.

Per operazioni più complesse bisogna ricorrere all'oggetto Math.
Ad esempio per calcolare la potenza di un numero si utilizza Math.pow(base,esponente):
var potenza = Math.pow(5,3);
document.write(potenza); //stampa 125
Per il calcolo della radice quadrata si utilizza Math.sqrt(numero)
var radice = Math.sqrt(100);
document.write(radice); //stampa 10

Operatori relazionali
>maggiore di
<minore di
>=maggiore uguale
<=minore uguale
==uguale a
!=diverso

Questi operatori confrontano valori numerici o stringhe e restituiscono TRUE o FALSE. Attenzione a non confondere l'operatore di uguaglianza (==) con l'operatore di assegnamento (=).
var x = 5;
document.write(x = 5); //stampa 5 
document.write(x == 5); //stampa TRUE

Operatori logici
&&il connettivo logico "and"
||il connettivo logico "or"
!il connettivo logico "not"
Anche in questo caso viene effettuato il confronto tra due espressioni e restituito TRUE o FALSE, in base all'operazione booleana effettuata.
var a = 5;
var b = 10;
var c = 8;
var confronto = (a < b) && (b < c);
document.write(confronto); //stampa FALSE
Il confronto restituisce FALSE perché una delle due relazioni è falsa. Infatti il connettivo logico and restituisce vero solo se tutte le condizioni sono vere.
var a = 5;
var b = 10;
var c = 8;
var confrontoDue = (a < b) || (b < c);
document.write(confrontoDue); //stampa TRUE
Il connettivo logico or restituisce vero se almeno una delle condizioni è vera. In questo caso  il confronto restituisce TRUE perché la prima relazione (5 < 10) è vera.

Nel prossimo post vedremo un esempio pratico di utilizzo di questi operatori.

Per approfondire l'argomento:


Nessun commento:

Posta un commento