Sommario | Attacco | Crittologia | GnuPG/PGP | Programmazione | Sicurezza | Modifiche

 
   

Sommario / Programmazione / JavaScript / Fondamenti /

 

 
 


Gli operatori

Gli operatori, basandosi sul concetto della priorità assegnata ad ognuno di essi, permettono di effettuare operazioni sulle variabili o sui dati letterali. I dati letterali consistono di numeri (da 0 a 9), singoli caratteri (da a a z e da A a Z) e stringhe di caratteri.

Esistono in definitiva tre tipi di operatori, aritmetici, suddivisi in unari e binari, booleani e stringa.

Al di fuori di questo elenco, il primo operatore che occorre conoscere è l'operatore di assegnazione ( = ). Il suo compito è quello prendere il valore sul lato destro del segno e di assegnarlo all'operando sul lato sinistro.

Esiste anche una forma compatta per l'assegnazione:

 

Operatore Esempio Equivale a
+= x += y x = x + y
-= x -= y x = x - y
*= x *= y x = x * y
/= x /= y x = x / y
%= x %= y x = x % y

Vediamo adesso i restanti operatori, partendo da quelli interi unari.

Operatori interi unari

Gli operatori interi unari richiedono un singolo operando:

 

Operatore Descrizione Esempio Risultato
- Negazione unaria. Modifica il segno di un numero. x = 3;
y = -x;
y = -3;
~ Complemento bit a bit. Cambia ogni 0 in 1 e viceversa. x = 60;
y = ~x
y = -61
++ Incremento. Aumenta il valore di uno. x = 3;
x++
x = 4
-- Decremento. Diminuisce il valore di uno. x = 3;
x--
x = 2

Esempio:

 

i = 0;
j = 10;
for(i = 0; i<10; i++) {
   j--;
   document.write(i + "\t" + j);
   document.write("<p>");
}

Questo script esegue l'aumento dei numeri in una colonna e diminuisce i numeri nell'altra. Si noti l'utilizzo degli operatori ++ e --, che in pratica cambiano il valore della variabile, è esattamente il contrario nel caso della negazione e il complemento al bit. Esempio:

 

i = 10, j = 10, k = 10, m = 10;
document.write("i="+i+"\tj="+j+"\tk="+k+"\tm="+m);
document.write("<p>");
i--;
j++;
~k;
-m;
document.write("i="+i+"\tj="+j+"\tk="+k+"\tm="+m);
document.write("<p>");

Si noti che i e j sono stati cambiati e visualizzano i lono nuovi valori mentre k e m presentano ancora i loro valori originari. Questo perchè quando si utilizza la negazione unaria e il complemento al bit in un'operazione composta, bisogna utilizzare di fatto una variabile temporanea per contenere il nuovo valore dell'operando. Riproviamo:

 

i = 10, j = 10, k = 10, m = 10;
document.write("i="+i+"\tj="+j+"\tk="+k+"\tm="+m);
document.write("<p>");
i--;
j++;
n = ~k;
-m;
document.write("i="+i+"\tj="+j+"\tk="+k+"\tm="+m+"\tn="+n);
document.write("<p>");

Operatori interi binari

Gli operatori interi binari non cambiano i valori dell'operando ma restituiscono un valore che deve essere assegnato ad una variabile. Necessitano quindi di due operandi.

 

Operatore Descrizione Esempio Risultato
+ Somma 2+2 4
- Sottrazione 5-3 2
* Moltiplicazione 5*4 20
/ Divisione 20/4 5
% Modulo. 8/3 2
& AND bit a bit 5&3 1
| OR bit a bit 5|3 7
^ XOR al bit 5^3 6
<< Spostamento a sinistra 3<<1 6
>> Spostamento a destra 6>>1 3
>>> Spostamento a destra con riempimento degli zeri    

Esistono degli operatori relazionali aggiuntivi che producono dei risultati booleani:

 

Operatore Descrizione Esempio Risultato
< Minore di 2<7 true
> Maggiore di 2>7 false
<= Minore o uguale a 2<=7 true
>= Maggiore o uguale a 2>=7 false
== Uguale a 2==7 false
!= Diverso da 2!=7 true

Operatori booleani

I tipi booleani aggiungono diversi nuovi operatori per il calcolo logico:

 

Operatore Descrizione Esempio Risultato
! Negazione booleana di un valore. !true false
& AND logico    
| OR logico    
^ XOR logico    
&& AND valutazione true&&false false
|| OR valutazione true||false true
== Uguale a true==false false
!= Diverso da true!=false true
&= Assegnazione AND    
|= Assegnazione OR    
^= Assegnazione XOR    
?: Ternario condizionale.
a ? b : c
true?102:45 102

Per comodità, ecco i vari risultati delle operazioni booleane:

 

AND OR XOR
OP1 OP2 RIS. OP1 OP2 RIS. OP1 OP2 RIS.
true true true true true true true true false
tre false false true false true true false true
false true false false true true false true true
false false false false false false false false false

Operatori sulle stringhe

Le stringhe possono essere concatenate utilizzando l'operatore +, visto negli esempi precedenti. Da ricordare che, se uno degli operandi non è una stringa, verrà convertito prima di essere concatenato, dopo di che l'operatore porrà la concatenazione risultante nell'operando di sinistra.

 

     

 
 

Copyright © 1998 - 2009 Antonio Magrì - Tutti i diritti riservati. Contatto.