Precedenza tra gli operatori
La precedenza tra gli operatori è costituita da un insieme di regole JScript che determinano l'ordine in cui il compilatore esegue le operazioni durante la valutazione di un'espressione. Le operazioni con precedenza maggiore vengono eseguite prima di quelle con precedenza minore. La moltiplicazione viene ad esempio eseguita prima dell'addizione.
Tabella delle precedenze
Nella tabella che segue sono elencati gli operatori JScript nell'ordine di precedenza.
Precedenza |
Ordine di valutazione |
Operatore |
Descrizione |
---|---|---|---|
15 |
da sinistra a destra |
., [], () |
Accesso a campi, indicizzazione di matrici, chiamate di funzioni e raggruppamento di espressioni |
14 |
da destra a sinistra |
++, --, -, ~, !, delete, new, typeof, void |
Operatori unari, tipo di dati restituito, creazione di oggetti, valori non definiti |
13 |
da sinistra a destra |
*, /, % |
Moltiplicazione, divisione, divisione di modulo |
12 |
da sinistra a destra |
+, - |
Addizione e concatenazione di stringhe, sottrazione |
11 |
da sinistra a destra |
<<, >>, >>> |
Spostamento per bit |
10 |
da sinistra a destra |
<, <=, >, >=, instanceof |
Minore di, minore o uguale a, maggiore di, maggiore o uguale a instanceof |
9 |
da sinistra a destra |
==, !=, ===, !== |
Uguaglianza, disuguaglianza, identità e non identità |
8 |
da sinistra a destra |
& |
AND bit per bit |
7 |
da sinistra a destra |
^ |
XOR bit per bit |
6 |
da sinistra a destra |
| |
OR bit per bit |
5 |
da sinistra a destra |
&& |
AND logico |
4 |
da sinistra a destra |
|| |
OR logico |
3 |
da destra a sinistra |
?: |
Condizionale |
2 |
da destra a sinistra |
=, OP= |
Assegnazione, assegnazione composta |
1 |
da sinistra a destra |
, (virgola) |
Valutazione multipla |
Tramite l'utilizzo delle parentesi in un'espressione si modifica l'ordine di valutazione determinato dalla precedenza tra gli operatori . L'espressione racchiusa tra parentesi viene quindi valutata prima che il relativo valore venga utilizzato nel resto dell'espressione.
Ad esempio:
z = 78 * (96 - 3 + 45)
Nella precedente espressione sono presenti cinque operatori: =, *, (), - e +. In base alle regole di precedenza, tali operatori verranno valutati nel seguente ordine: (), -, +, *, =.
Innanzitutto viene eseguita la valutazione dell'espressione racchiusa tra parentesi. In questa espressione sono presenti un operatore di addizione e un operatore di sottrazione. Tali operatori hanno la medesima precedenza e verranno valutati da sinistra a destra. Anzitutto il numero 3 viene sottratto da 96, dando come risultato 93. Quindi il numero 45 viene sommato a 93, con risultato 138.
Viene quindi eseguita la moltiplicazione. Viene moltiplicato il numero 78 al numero 138, in modo da ottenere il valore 10764.
L'assegnazione viene eseguita per ultima. Il numero 10764 viene assegnato a z.