ES6 - Operatori
Un expressionè un tipo speciale di istruzione che restituisce un valore. Ogni espressione è composta da:
Operands - Rappresenta i dati.
Operator - Definisce come verranno elaborati gli operandi per produrre un valore.
Considera la seguente espressione: 2 + 3. Qui nell'espressione, 2 e 3 sono operandi e il simbolo + (più) è l'operatore. JavaScript supporta i seguenti tipi di operatori:
- Operatori aritmetici
- Operatori logici
- Operatori relazionali
- Operatori bit per bit
- Operatori di assegnazione
- Operatori ternari / condizionali
- Operatori di stringa
- Operatori di tipo
- L'operatore del vuoto
Operatori aritmetici
Assumi i valori nelle variabili a e b sono rispettivamente 10 e 5.
Operatore | Funzione | Esempio |
---|---|---|
+ | Addition Restituisce la somma degli operandi. |
a + b è 15 |
- | Subtraction Restituisce la differenza dei valori. |
ab è 5 |
* | Multiplication Restituisce il prodotto dei valori. |
a * b è 50 |
/ | Division Esegue un'operazione di divisione e restituisce il quoziente. |
a / b è 2 |
% | Modulus Esegue una divisione e restituisce il resto. |
a% b è 0 |
++ | Increment Incrementa il valore della variabile di uno. |
a ++ è 11 |
- | Decrement Decrementa il valore della variabile di uno. |
a-- è 9 |
Operatori relazionali
Gli operatori relazionali testano o definiscono il tipo di relazione tra due entità. Gli operatori relazionali restituiscono un valore booleano, ovvero vero / falso.
Supponiamo che il valore di A sia 10 e B sia 20.
Operatori | Descrizione | Esempio |
---|---|---|
> | Più grande di | (A> B) è False |
< | Minore di | (A <B) è vero |
> = | Maggiore o uguale a | (A> = B) è False |
<= | Minore o uguale a | (A <= B) è vero |
== | Uguaglianza | (A == B) è False |
! = | Non uguale | (A! = B) è vero |
Operatori logici
Gli operatori logici vengono utilizzati per combinare due o più condizioni. Anche gli operatori logici restituiscono un valore booleano. Supponiamo che il valore della variabile A sia 10 e B sia 20.
Operatori | Descrizione | Esempio |
---|---|---|
&& | And L'operatore restituisce true solo se tutte le espressioni specificate restituiscono true. |
(A> 10 && B> 10) è False |
|| | Or L'operatore restituisce true se almeno una delle espressioni specificate restituisce true. |
(A> 10 || B> 10) è vero |
! | Not L'operatore restituisce l'inverso del risultato dell'espressione. Ad esempio:! (7> 5) restituisce false. |
! (A> 10) è vero |
Operatori bit per bit
JavaScript supporta i seguenti operatori bit per bit. La tabella seguente riassume gli operatori bit per bit di JavaScript.
Operatori | Utilizzo | Descrizione |
---|---|---|
Bitwise AND | a & b | Restituisce uno in ciascuna posizione di bit per la quale i bit corrispondenti di entrambi gli operandi sono uno |
OR bit per bit | a | b | Restituisce uno in ogni posizione di bit per cui i bit corrispondenti di uno o entrambi gli operandi sono uno |
Bitwise XOR | a ^ b | Restituisce uno in ciascuna posizione di bit per cui i bit corrispondenti di uno ma non di entrambi gli operandi sono uno |
Bitwise NON | ~ a | Inverte i bit del suo operando |
Tasto maiuscolo di sinistra | a << b | Sposta a nella rappresentazione binaria b (<32) bit a sinistra, spostandosi in zero da destra |
Spostamento a destra di propagazione dei segni | a >> b | Sposta a nella rappresentazione binaria b (<32) bit a destra, scartando i bit spostati |
Spostamento a destra con riempimento zero | a >>> b | Sposta a nella rappresentazione binaria b (<32) bit a destra, scartando i bit spostati e spostando gli zeri da sinistra |
Operatori di assegnazione
La tabella seguente riepiloga gli operatori di assegnazione.
Suor n | Operatore e descrizione |
---|---|
1 | = (Simple Assignment) Assegna i valori dall'operando del lato destro all'operando del lato sinistro. Example - C = A + B assegnerà il valore di A + B a C |
2 | += (Add and Assignment) Aggiunge l'operando destro all'operando sinistro e assegna il risultato all'operando sinistro. Example - C + = A è equivalente a C = C + A |
3 | -= (Subtract and Assignment) Sottrae l'operando destro dall'operando sinistro e assegna il risultato all'operando sinistro. Example C - = A è equivalente a C = C - A |
4 | *= (Multiply and Assignment) Moltiplica l'operando destro con l'operando sinistro e assegna il risultato all'operando sinistro. Example C * = A è equivalente a C = C * A |
5 | /= (Divide and Assignment) Divide l'operando sinistro con l'operando destro e assegna il risultato all'operando sinistro. |
Note - La stessa logica si applica agli operatori Bitwise, quindi diventeranno << =, >> =, >> =, & =, | = e ^ =.
Operatori vari
Di seguito sono riportati alcuni degli operatori vari.
L'operatore di negazione (-)
Cambia il segno di un valore. Il seguente programma è un esempio dello stesso.
var x = 4
var y = -x;
console.log("value of x: ",x); //outputs 4
console.log("value of y: ",y); //outputs -4
Il seguente output viene visualizzato in caso di corretta esecuzione del programma precedente.
value of x: 4
value of y: -4
Operatori di stringa: operatore di concatenazione (+)
L'operatore + quando viene applicato alle stringhe aggiunge la seconda stringa alla prima. Il seguente programma aiuta a comprendere questo concetto.
var msg = "hello"+"world"
console.log(msg)
Il seguente output viene visualizzato in caso di corretta esecuzione del programma precedente.
helloworld
L'operazione di concatenazione non aggiunge uno spazio tra le stringhe. Più stringhe possono essere concatenate in una singola istruzione.
Operatore condizionale (?)
Questo operatore viene utilizzato per rappresentare un'espressione condizionale. L'operatore condizionale è talvolta indicato anche come operatore ternario. Di seguito è riportata la sintassi.
Test ? expr1 : expr2
Dove,
Test - Si riferisce all'espressione condizionale
expr1 - Valore restituito se la condizione è vera
expr2 - Valore restituito se la condizione è falsa
Example
var num = -2
var result = num > 0 ?"positive":"non-positive"
console.log(result)
La riga 2 controlla se il valore nella variabile num è maggiore di zero. Se num è impostato su un valore maggiore di zero, restituisce la stringa "positiva", altrimenti viene restituita una stringa "non positiva".
Il seguente output viene visualizzato in caso di corretta esecuzione del programma precedente.
non-positive
tipo di operatore
È un operatore unario. Questo operatore restituisce il tipo di dati dell'operando. La tabella seguente elenca i tipi di dati e i valori restituiti datypeof operatore in JavaScript.
genere | Stringa Restituita da typeof |
---|---|
Numero | "numero" |
Corda | "corda" |
Booleano | "booleano" |
Oggetto | "oggetto" |
Il codice di esempio seguente visualizza il numero come output.
var num = 12
console.log(typeof num); //output: number
Il seguente output viene visualizzato in caso di corretta esecuzione del codice precedente.
number
Operatore Spread
ES6 fornisce un nuovo operatore chiamato spread operator. L'operatore di diffusione è rappresentato da tre punti “...”. L'operatore spread converte un array in singoli elementi dell'array.
Operatore e funzione di diffusione
L'esempio seguente illustra l'uso degli operatori di diffusione in una funzione
<script>
function addThreeNumbers(a,b,c){
return a+b+c;
}
const arr = [10,20,30]
console.log('sum is :',addThreeNumbers(...arr))
console.log('sum is ',addThreeNumbers(...[1,2,3]))
</script>
L'output del codice sopra sarà come mostrato di seguito -
sum is : 60
sum is 6
Operatore di diffusione e copia e concatenazione di array
L'operatore spread può essere utilizzato per copiare un array in un altro. Può anche essere utilizzato per concatenare due o più array. Questo è mostrato nell'esempio seguente:
Esempio
<script>
//copy array using spread operator
let source_arr = [10,20,30]
let dest_arr = [...source_arr]
console.log(dest_arr)
//concatenate two arrays
let arr1 = [10,20,30]
let arr2 =[40,50,60]
let arr3 = [...arr1,...arr2]
console.log(arr3)
</script>
L'output del codice precedente sarà come indicato di seguito:
[10, 20, 30]
[10, 20, 30, 40, 50, 60]
Operatore di diffusione e copia e concatenazione di oggetti
L'operatore di diffusione può essere utilizzato per copiare un oggetto in un altro. Può anche essere utilizzato per concatenare due o più oggetti. Questo è mostrato nell'esempio seguente:
<script>
//copy object
let student1 ={firstName:'Mohtashim',company:'TutorialsPoint'}
let student2 ={...student1}
console.log(student2)
//concatenate objects
let student3 = {lastName:'Mohammad'}
let student4 = {...student1,...student3}
console.log(student4)
</script>
L'output del codice sopra sarà come indicato di seguito:
{firstName: "Mohtashim", company: "TutorialsPoint"}
{firstName: "Mohtashim", company: "TutorialsPoint", lastName: "Mohammad"}