9. Operatori

Gli operatori vengono usati per comporre delle espressioni, producendo un risultato aritmetico o condizionale, a seconda dell'operatore utilizzato e dai suoi operandi.

Un'espressione condizionale produce come risultato un valore Booleano, ossia true oppure false, e viene solitamente usato nelle strutture di controllo come una comune if :

var condizione:Boolean = 5 < 4;
trace(condizione); // Output : false

Nell'esempio soprastante, "5 < 4" è la nostra espressione condizionale e produce il valore false poichè 5 non è minore di 4.
L'operatore < è binario perchè considera due operandi, uno alla sua sinistra (5) ed uno alla sua destra (4).


Tipi di operatori

Esistono tre tipi di operatori, e vengono distinti dal numero di operandi che considerano.

  • Unari - Richiedono un solo valore (es. x++)
  • Binari - Richiedono due valori (es. x + y)
  • Ternari - Esiste un solo operatore ternario e richiede tre valori
    (es. x = (x == 1) ? 5 : 10)

Lista degli operatori

Di seguito la lista degli operatori più comuni con esempi di utilizzo.
Per la lista completa e i dettagli tecnici su ogni operatore supportato da ActionScript 3 vi rimando alla documentazione ufficiale.

Lista operatori ActionScript 3
Operatore Descrizione Esempio
++

Operatore unario di incremento, utilizzabile in modalità suffissa o prefissa.

In modalità prefissa l'operando viene incrementato prima di renderlo disponibile nell'espressione.

Suffissa
var x:int = 5;
y = x++;

y conterrà 5 e x 6

Prefissa
var x:int = 5;
y = ++x;

Sia x che y conterranno 6

--

Operatore unario di decremento, utilizzabile in modalità suffissa o prefissa.

In modalità prefissa l'operando viene decrementato prima di renderlo disponibile nell'espressione.

Suffissa
var x:int = 5;
y = x--;

y conterrà 5 e x 4

Prefissa
var x:int = 5;
y = --x;

Sia x che y conterranno 4

!

Operatore unario di negazione (NOT Logico).

Solitamente usato per invertire il risultato delle espressioni condizionali.

var condizione:Boolean = !(5 < 4);

condizione conterrà il valore true

new

Operatore unario utilizzato per creare una nuova istanza della classe specificata alla sua destra, chiamandone il costruttore.

var istanza:MiaClasse = new MiaClasse();

istanza conterrà un nuovo oggetto della classe MiaClasse

[ ]

Operatore unario di accesso agli array.

Restituisce il valore dell'array alla sua sinistra nella posizione specificata fra le parentesi quadre, oppure viene utilizzato per inizializzare un nuovo array.

var elemento:* = array[5];

elemento conterrà l'elemento di array nella posizione indicata dall'indice (5).

+ ; - ; * ; /

Operatori binari utilizzati per operazioni aritmetiche.

L'operatore + viene utilizzato anche per concatenare stringhe.

var x = "Flash ";
var y = x + "CS3";

y conterrà la stringa "Flash CS3"

%

Operatore binario modulo.

Restituisce il resto di una divisione.

var x:int = 17 % 4;

x conterrà il numero intero 1, poichè 17 diviso 4 fa 4 con il resto di 1.

= ; += ; -= ; *=
/= ; %= ; &= ; |=

Operatori d'assegnazione con operazione.

Assegnano un valore all'operando alla loro sinistra, utilizzandolo anche come operando per l'espressione a destra.

var x = 10;
x += 5; // Ossia x = x + 5;

x conterrà il valore 15

< ; > ; <= ; >=
== ; === ; != ; !==

Operatori di confronto.

Vengono utilizzati per costruire espressioni condizionali.

var x = 5;
var y = 20;

if (x != 5) y += x;
else y -= x;

y conterrà il numero intero 15

& ; && ; |
|| ; ^

Operatori condizionali.

Vengono utilizzati per relazionare 2 o più espressioni condizionali.

var x = 10;

if (x <= 10 && x >= 0) x += 3;
// Se x è compreso fra 10 e 0 inclusi

x conterrà il valore 13

?:

Operatore ternario condizionale.

Viene usato per sostituire blocchi condizionali if else semplici.

condizione ? operazione : alternativa

var x = 5;
var y = 20;

(x != 5) ? y += x : y -= x;

y conterrà il numero intero 15