Durante l'esecuzione di un'operazione, il alta precedenza Gli operatori sono considerati il operandi Di Precedenza inferiore operatori. Ciò significa che, in una determinata operazione, l'operatore con una precedenza più elevata viene valutato per primo.
Questo articolo discuterà del lavorando Di Precedenza dell'operatore In JavaScript.
Precedenza dell'operatore in JavaScript
Prima di scrivere qualsiasi espressione in JavaScript, è importante conoscere l'ordine in cui verranno eseguite le operazioni aggiunte, in quanto assicura di raggiungere i risultati desiderati.
Ogni operatore JavaScript ha un "livello di importanza" O "Ordine di precedenza"Rispetto ad altri operatori, quindi gli operatori con elevata precedente vengono eseguiti prima degli operatori a bassa precedenza. Inoltre, un altro termine coinvolto in tutta questa procedura è noto come "Associatività".
Associazione degli operatori in Javascript
La associazione degli operatori decide la direzione di condurre operazioni che possono essere "da sinistra a destra" O "da destra a sinistra".
"da sinistra a destra"Associatività esiste per il Operatori aritmetici come aggiunta, moltiplicazione, sottrazione e divisione. In confronto, altri operatori come il booleano "NON"Operatore e tutto Operatori di assegnazione sono basati su "da destra a sinistra" associatività.
Esempio: Associatività degli operatori in JavaScript
La sottrazione è un eccellente esempio di un'operazione in cui è importante la associazione. Ad esempio, il risultato della sottrazione "4 da 9"Non è lo stesso che sottrarre"9 da 4":
var x = 9 - 4;Livelli di precedenza dell'operatore in JavaScript
La precedenza dell'operatore in JavaScript è divisa in 19 livelli diversi. Dai un'occhiata alla tabella di seguito per saperne di più:
Tipo di operatore | Associatività | Singoli operatori | Ordine di precedenza |
Raggruppamento | n / a | (...) | 19 |
Incatenamento opzionale | da sinistra a destra | ?. | 18 |
Nuovo (con elenco di argomenti) | n / a | nuovo… (… ) | |
Accesso ai membri | da sinistra a destra | .. ... | |
Accesso al membro calcolato | da sinistra a destra | ... […] | |
Chiamata funzione | da sinistra a destra | ... (...) | |
Nuovo (senza elenco di argomenti) | da destra a sinistra | nuovo… | 17 |
Incremento postfix | n / a | .. ++ | 16 |
Decremento postfix | .. - | ||
Incremento del prefisso | da destra a sinistra | ++.. | 15 |
Bitway not (~) | .. | ||
Unary Plus (+) | +.. | ||
Logico no (!) | !.. | ||
Negazione unaria (-) | -.. | ||
Decremento prefisso | -.. | ||
vuoto | vuoto… | ||
Aspetta | Aspetta .. | ||
eliminare | eliminare… | ||
tipo di | tipo di… | ||
Esponenziale (**) | da destra a sinistra | ... ** .. | 14 |
Moltiplicazione (*) | da sinistra a destra | ... *.. | 13 |
Resto (%) | ... %.. | ||
Divisione | ... /.. | ||
Aggiunta (+) | da sinistra a destra | ... +.. | 12 |
Sottrazione (-) | ... -.. | ||
Shift a sinistra bitwise (<<) | da sinistra a destra | .. <<… | 11 |
Shift bitwise a destra (>>) | ... >> .. | ||
Shift a destra non firmato Bitwise (>>>) | ... >>> .. | ||
Maggiore di (>) | da sinistra a destra | ...> .. | 10 |
Meno di (>) | .. <… | ||
Maggiore o uguale (> =) | ...> = .. | ||
Meno o uguale (<=) | .. <=… | ||
istanza di | ... istanza di .. | ||
In | … In… | ||
Disuguaglianza (!=) | da sinistra a destra | .. != .. | 9 |
Rigorosa disuguaglianza (!==) | .. !== .. | ||
Rigorosa disuguaglianza (===) | ... === .. | ||
Uguaglianza (==) | ... == .. | ||
Bitwise e (&) | da sinistra a destra | ... e .. | 8 |
Bitwise xor (^) | da sinistra a destra | ... ^.. | 7 |
Bitwise o (|) | da sinistra a destra | ... | .. | 6 |
Logico e (&&) | da sinistra a destra | ... && .. | 5 |
Nullish Coalescing Operator (??) | da sinistra a destra | .. ??.. | 4 |
Logico o (||) | da sinistra a destra | … ||… | |
Operatore condizionale (ternario) | da destra a sinistra | .. ?...: .. | 3 |
Incarico | da destra a sinistra | ... = .. | 2 |
... += .. | |||
... -= .. | |||
... ** = .. | |||
... *= .. | |||
... /= .. | |||
... %= .. | |||
.. <<=… | |||
... >> = .. | |||
... >>> = .. | |||
... & = .. | |||
... ^= .. | |||
... | = .. | |||
... && = .. | |||
… || =… | |||
.. ??= .. | |||
prodotto | da destra a sinistra | prodotto… | |
prodotto* | prodotto*… | ||
Sequenza / virgola | da sinistra a destra | ..., .. | 1 |
Esempio: come funziona la precedenza dell'operatore in JavaScript
Considera la seguente espressione:
4 + 5 - 10 + 7 * 4 + 3Abbiamo aggiunto tre istanze di "+"Operatore aggiuntivo nell'espressione di cui sopra. Senza alcuna precedenza dell'operatore, l'espressione dichiarata può produrre un valore diverso; Tuttavia, lo risolveremo secondo l'ordine di precedenza.
Secondo la tabella indicata nella sezione precedente, l'operatore di moltiplicazione “*” ha una precedenza maggiore rispetto alla precedenza degli operatori di addizione e sottrazione, quindi verrà eseguito per primo. Sia gli operatori di aggiunta che di sottrazione hanno lo stesso ordine di precedenza, il che significa che sono allo stesso livello e JavaScript li valuterà da sinistra a destra.
JavaScript eseguirà i seguenti passaggi dietro le quinte per valutare l'espressione data:
Prima di tutto, si moltiplicherà 7 * 4 che è uguale a "28"E quindi aggiorna l'equazione come:
4 + 5 - 10 + 28 + 3Successivamente, l'espressione sarà valutata da "Lda eft-to-destra"Direzione, a partire da"4 + 5"Operazione di aggiunta che risulta"9":
9 - 10 + 28 + 3Poi, "10"Viene sottratto da"9"Che produce"-2" valore:
-1 + 28 + 3Dopo averlo fatto, "28"Sarà sottratto da"-1":
27 + 3Nell'ultimo passaggio, l'operazione di addizione viene eseguita per il numero "27 + 3"Che si traduce in"30":
Abbiamo fornito le informazioni essenziali relative al funzionamento della precedenza dell'operatore in JavaScript. Puoi esplorare ulteriormente questo argomento in base alle tue esigenze.
Conclusione
In JavaScript, ogni operatore ha un Ordine di precedenza, che funziona in modo tale che gli operatori con elevata precedente vengano eseguiti prima degli operatori a bassa precedenza e gli operatori ad alta precedenza sono considerati come gli operatori di operatori di precedenza inferiore. La precedenza dell'operatore aiuta a valutare un'espressione matematica nella sequenza corretta. Questo articolo ha discusso del funzionamento della precedenza dell'operatore in JavaScript.