Gli operatori in javascript
I principali operatori nel linguaggio javascript
Gli operatori matematici
Gli operatori matematici in Javascript sono i seguenti
simbolo | operazione | esempio |
---|---|---|
+ | addizione | a+b |
- | sottrazione | a- |
* | multiplicazione | a*b |
/ | divisione | a/b |
% | resto divisione | a%b |
++ | incrementa di 1 una variabile | a++ |
-- | decrementa di 1 una variabile | a-- |
+=n | incrementa di n una variabile | a+=n ⇔ a=a+n |
-=n | decrementa di n una variabile | a-=n ⇔ a=a-n |
*=n | moltiplica di n una variabile | a*=n ⇔ a=a*n |
/=n | divide per n una variabile | a/=n ⇔ a=a/n |
= | operatore di assegnazione | a=1+2 |
Tutti gli operatori matematici in javascript seguono un ordine di precedenza.
La moltiplicazione, la divisione e il resto della divisione (modulo) hanno un ordine di precedenza più alto rispetto all'addizione e alla sottrazione.
Ad esempio, in questa espressione javascript esegue prima la moltiplicazione e poi l'addizione.
2+3*2 = 8
A parità di ordine di precedenza javascript esegue gli operatori con uguale precedenza da sinistra verso destra, come appaiono scritti nell'espressione.
Ad esempio, l'addizione e la sottrazione hanno lo stesso ordine di precedenza.
In questa espressione Javascript esegue prima l'operatore + perché è il primo da sinistra. Poi esegue l'operatore -.
2+3-1 = 8
In ogni caso, come accade in matematica, per modificare l'ordine di precedenza basta usare le parentesi tonde
(2+3)*2 = 10
Anche il simbolo uguale è un operatore.
Il simbolo uguale (=) è l'operatore di assegnazione e ha l'ordine di priorità più basso di tutti.
Viene eseguito per ultimo dopo qualsiasi altro operatore o parentesi dell'espressione.
Gli operatori bit per bit
Agli operatori aritmetici vanno aggiunti anche gli operatori bit per bit
& | Prodotto binario (and logico) |
| | Somma binaria (or logico) |
Ad esempio, la somma binaria (or logico) dei numeri 12 e 11 è uguale a 15
12|11=15
perché
Il prodotto binario (and logico) dei numeri 12 e 11 è uguale a 8
12&11=8
perché
Nota. Gli operatori and logico (&) e or logico (|) non vanno confusi con gli operatori logici and (&&) e or (||). Sono operatori che svolgono funzioni differenti.
L'operatore di concatenazione
Per concatenare due stringhe in javascript uso lo stesso operatore dell'addizione (+)
Ad esempio
document.write("abc"+"def");
abcdef
Quando gli operandi sono due stringhe javascript interpreta il simbolo + come operatore di concatenazione.
Viceversa, se sono due numeri lo interpreta come operatore di addizione.
document.write(2+3);
5
Gli operatori di confronto
Gli operatori di confronto in javascript sono
< | minore |
> | maggiore |
<= | minore uguale |
>= | maggiore uguale |
== | uguaglianza astratta |
=== | uguagllanza stretta |
!= | non uguale (diverso) |
La differenza tra uguaglianza astratta e stretta. Nel caso dell'uguaglianza astratta javascript converte i due valori allo stesso tipo e ne confronta il valore. Nell'uguaglianza stretta, invece, li confronta senza convertirli allo stesso data type. Ad esempio, il confronto '1'==true è vero nell'uguaglianza astratta, perché il carattere '1' viene convertito in true. Lo stesso confronto '1'===true è invece falso nell'uguaglianza stretta perché i due dati hanno tipi diversi. Quindi, i valori '1' e true non sono confrontabili.
Gli operatori di confronto == e =! hanno l'ordine di precedenza più basso.
Tutti gli altri operatori di confronto hanno, invece, la stessa precedenza, inferiore a quella degli operatori matematici (+,-,*/).
Ad esempio, in un espressione 2*3>3+2 javascript esegue prima i calcoli, poi confronta i risultati.
Gli operatori logici
Gli operatori logici nel linguaggio javascript sono
&& | And |
|| | Or |
! | Not |
Gli operatori && e || sono caratterizzati dal doppio simbolo e non vanno confusi con gli operatori binari & e |
E così via.