TypeScript - Operatori
Cos'è un operatore?
Un operatore definisce alcune funzioni che verranno eseguite sui dati. I dati su cui lavorano gli operatori sono chiamati operandi. Considera la seguente espressione:
7 + 5 = 12
Qui, i valori 7, 5 e 12 sono operands, mentre + e = sono operators.
I principali operatori in TypeScript possono essere classificati come:
- Operatori aritmetici
- Operatori logici
- Operatori relazionali
- Operatori bit per bit
- Operatori di assegnazione
- Operatore ternario / condizionale
- Operatore di stringa
- Tipo Operatore
Operatori aritmetici
Supponiamo che i valori nelle variabili aeb siano rispettivamente 10 e 5.
Operatore | Descrizione | Esempio |
---|---|---|
+ (Aggiunta) | restituisce la somma degli operandi | a + b è 15 |
- (Sottrazione) | restituisce la differenza dei valori | a - b è 5 |
* (Moltiplicazione) | restituisce il prodotto dei valori | a * b è 50 |
/ (Divisione) | esegue l'operazione di divisione e restituisce il quoziente | a / b è 2 |
% (Modulo) | esegue l'operazione di divisione e restituisce il resto | a% b è 0 |
++ (incremento) | Incrementa il valore della variabile di uno | a ++ è 11 |
- (Decremento) | 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.
Operatore | 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) è falso |
! = | 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.
Operatore | Descrizione | Esempio |
---|---|---|
&& (E) | L'operatore restituisce true solo se tutte le espressioni specificate restituiscono true | (A> 10 && B> 10) è False |
|| (O) | L'operatore restituisce true se almeno una delle espressioni specificate restituisce true | (A> 10 || B> 10) è vero |
! (NON) | L'operatore restituisce l'inverso del risultato dell'espressione. Ad esempio:! (> 5) restituisce false | ! (A> 10) è vero |
Operatori bit per bit
Assumi la variabile A = 2 e B = 3
Operatore | Descrizione | Esempio |
---|---|---|
& (AND bit per bit) | Esegue un'operazione booleana AND su ogni bit dei suoi argomenti interi. | (A e B) è 2 |
| (BitWise OR) | Esegue un'operazione booleana OR su ogni bit dei suoi argomenti interi. | (A | B) è 3 |
^ (XOR bit per bit) | Esegue un'operazione booleana OR esclusivo su ogni bit dei suoi argomenti interi. OR esclusivo significa che uno degli operandi uno è vero o l'operando due è vero, ma non entrambi. | (A ^ B) è 1 |
~ (Bitwise Not) | È un operatore unario e opera invertendo tutti i bit nell'operando. | (~ B) è -4 |
<< (Maiusc sinistro) | Sposta tutti i bit nel suo primo operando a sinistra del numero di posizioni specificato nel secondo operando. I nuovi bit vengono riempiti con zeri. Spostare un valore a sinistra di una posizione equivale a moltiplicarlo per 2, spostare due posizioni equivale a moltiplicarlo per 4 e così via. | (A << 1) è 4 |
>> (Maiusc destro) | Operatore binario di spostamento a destra. Il valore dell'operando sinistro viene spostato a destra del numero di bit specificato dall'operando destro. | (A >> 1) è 1 |
>>> (Spostamento a destra con zero) | Questo operatore è proprio come l'operatore >>, tranne per il fatto che i bit spostati a sinistra sono sempre zero. | (A >>> 1) è 1 |
Operatori di assegnazione
Operatore | Descrizione | Esempio |
---|---|---|
= (Assegnazione semplice) | Assegna i valori dall'operando del lato destro all'operando del lato sinistro | C = A + B assegnerà il valore di A + B a C |
+ = (Aggiungi e assegnazione) | Aggiunge l'operando destro all'operando sinistro e assegna il risultato all'operando sinistro. | C + = A è equivalente a C = C + A |
- = (Sottrai e assegnazione) | Sottrae l'operando destro dall'operando sinistro e assegna il risultato all'operando sinistro. | C - = A è equivalente a C = C - A |
* = (Moltiplicazione e assegnazione) | Moltiplica l'operando destro con l'operando sinistro e assegna il risultato all'operando sinistro. | C * = A è equivalente a C = C * A |
/ = (Dividi e assegnazione) | 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
L'operatore di negazione (-)
Cambia il segno di un valore. Facciamo un esempio.
var x:number = 4
var y = -x;
console.log("value of x: ",x); //outputs 4
console.log("value of y: ",y); //outputs -4
Durante la compilazione, genererà il seguente codice JavaScript.
//Generated by typescript 1.8.10
var x = 4;
var y = -x;
console.log("value of x: ", x); //outputs 4
console.log("value of y: ", y); //outputs -4
Produrrà il seguente output:
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 esempio ci aiuta a comprendere questo concetto.
var msg:string = "hello"+"world"
console.log(msg)
Durante la compilazione, genererà il seguente codice JavaScript.
//Generated by typescript 1.8.10
var msg = "hello" + "world";
console.log(msg);
Produrrà il seguente output:
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. La sintassi è la seguente:
Test ? expr1 : expr2
Test - si riferisce all'espressione condizionale
expr1 - valore restituito se la condizione è vera
expr2 - valore restituito se la condizione è falsa
Diamo un'occhiata al seguente codice:
var num:number = -2
var result = num > 0 ?"positive":"non-positive"
console.log(result)
La riga 2 controlla se il valore nella variabile numè maggiore di zero. Senum è posto ad un valore maggiore di zero, restituisce la stringa “positivo” altrimenti viene restituita la stringa “non positivo”.
Durante la compilazione, genererà il seguente codice JavaScript.
//Generated by typescript 1.8.10
var num = -2;
var result = num > 0 ? "positive" : "non-positive";
console.log(result);
Lo snippet di codice sopra produrrà il seguente output:
non-positive
Operatori di tipo
tipo di operatore
È un operatore unario. Questo operatore restituisce il tipo di dati dell'operando. Dai un'occhiata al seguente esempio:
var num = 12
console.log(typeof num); //output: number
Durante la compilazione, genererà il seguente codice JavaScript.
//Generated by typescript 1.8.10
var num = 12;
console.log(typeof num); //output: number
Produrrà il seguente output:
number
istanza di
Questo operatore può essere utilizzato per verificare se un oggetto è di un tipo specificato o meno. L'uso diinstanceof operatore è discusso nel capitolo classes.