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.

Mostra esempi

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.

Mostra esempi

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.

Mostra esempi .

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.

Mostra esempi .

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.

Mostra esempi .

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"}