English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
La priorità degli operatori determina il modo in cui vengono解析ati gli operatori l'uno rispetto all'altro.
L'operatore con la priorità più alta diventa l'operando dell'operatore con la priorità più bassa.
Negli esempi seguenti, la priorità della moltiplicazione è superiore a quella dell'addizione, il che determina il risultato dell'operazione.
// Prima si moltiplica 3 per 5, poi si aggiunge 10 var x = 10 + 3 * 5;Prova a vedere </>
Al contrario, se si desidera eseguire prima l'operazione di aggiunta, deve essere raggruppata all'interno di parentesi, che hanno sempre la priorità più alta.
// Prima si aggiungono 10 e 3, poi si moltiplica per 5 var x = (10 + 3) * 5;Prova a vedere </>
Quando si utilizzano parentesi, viene calcolato prima l'operazione all'interno delle parentesi.
Quando molte operazioni hanno la stessa priorità (ad esempio addizione e sottrazione), vengono calcolate da sinistra a destra:
var x = 10 + 3 - 5;Prova a vedere </>
La valutazione dell'espressione è influenzata anche dalla combinatorietà dell'operatore.
La combinatorietà indica la direzione di valutazione dell'espressione (da destra a sinistra o da sinistra a destra).
Se un'espressione contiene due o più operatori con la stessa priorità, quale operatore viene calcolato per primo? La combinatorietà dell'operatore risponde a questa domanda.
Si prega di consultare la tabella sottostante per risolvere qualsiasi problema di correlazione o priorità in JavaScript
Operatore | Descrizione dell'uso | Combinazione di operatori | Priorità degli operatori |
---|---|---|---|
() | Chiamata di metodo/funzione, raggruppamento | Da sinistra a destra | Massimo - 1 |
[] | Accesso all'array | Da sinistra a destra | 1 |
. | Accesso alle proprietà dell'oggetto | Da sinistra a destra | 1 |
++ | Incremento | Da destra a sinistra | 2 |
-- | Decremento | Da destra a sinistra | 2 |
- | Sottrazione | Da destra a sinistra | 2 |
! | Non logico | Da destra a sinistra | 2 |
~ | Non bitwise | Da destra a sinistra | 2 |
delete | Eliminare valori di array o proprietà di oggetto | Da destra a sinistra | 2 |
new | Creare un oggetto | Da destra a sinistra | 2 |
typeof | Tipo di dati di ritorno | Da destra a sinistra | 2 |
void | Non specificare il valore da restituire | Da destra a sinistra | 2 |
/ | Divisione | Da sinistra a destra | 3 |
* | Moltiplicazione | Da sinistra a destra | 3 |
% | Modulo | Da sinistra a destra | 3 |
+ | Addizione | Da sinistra a destra | 4 |
+ | Concatenazione di stringhe | Da sinistra a destra | 4 |
- | Sottrazione | Da sinistra a destra | 4 |
>> | Spostamento a destra bitwise | Da sinistra a destra | 5 |
<< | Spostamento a sinistra bitwise | Da sinistra a destra | 5 |
>, >= | Maggiore, maggiore o uguale | Da sinistra a destra | 6 |
<, <= | Minore, minore o uguale | Da sinistra a destra | 6 |
== | Uguale | Da sinistra a destra | 7 |
!= | Diverso | Da sinistra a destra | 7 |
=== | Uguale/Strictamente uguale (tipi di dati uguali) | Da sinistra a destra | 7 |
!== | Diverso/Non strettamente uguale (tipi di dati diversi) | Da sinistra a destra | 7 |
& | E bitwise | Da sinistra a destra | 8 |
^ | XOR bitwise | Da sinistra a destra | 9 |
| | O bitwise | Da sinistra a destra | 10 |
&& | E logico | Da sinistra a destra | 11 |
|| | O logico | Da sinistra a destra | 12 |
?: | Ramo condizionale | Da sinistra a destra | 13 |
= | Assegnazione | Da destra a sinistra | 14 |
*=, /=, %=, +=, -=, <<=, >>=, >>>=, &=, ^=, |= | Assegnazione in base all'operatore precedente | Da destra a sinistra | 14 |
, | Valutazione multipla | Da sinistra a destra | Minimo: 15 |