TypeScript - operatory

Co to jest operator?

Operator definiuje jakąś funkcję, która zostanie wykonana na danych. Dane, na których pracują operatorzy, nazywane są operandami. Rozważmy następujące wyrażenie -

7 + 5 = 12

Tutaj wartości 7, 5 i 12 są operands, podczas gdy + i = są operators.

Główne operatory w TypeScript można sklasyfikować jako -

  • Operatory arytmetyczne
  • Operatory logiczne
  • Operatorzy relacyjni
  • Operatory bitowe
  • Operatory przypisania
  • Operator trójargumentowy / warunkowy
  • Operator łańcuchowy
  • Operator typu

Operatory arytmetyczne

Załóżmy, że wartości zmiennych a i b wynoszą odpowiednio 10 i 5.

Pokaż przykłady

Operator Opis Przykład
+ (Dodawanie) zwraca sumę operandów a + b wynosi 15
- (odejmowanie) zwraca różnicę wartości a - b wynosi 5
* (Mnożenie) zwraca iloczyn wartości a * b wynosi 50
/ (Podział) wykonuje operację dzielenia i zwraca iloraz a / b wynosi 2
% (Moduł) wykonuje operację dzielenia i zwraca resztę a% b wynosi 0
++ (przyrost) Zwiększa wartość zmiennej o jeden a ++ to 11
- (Zmniejsz) Zmniejsza wartość zmiennej o jeden a - wynosi 9

Operatorzy relacyjni

Operatory relacyjne testują lub definiują rodzaj relacji między dwiema jednostkami. Operatory relacyjne zwracają wartość logiczną, tj. Prawda / fałsz.

Załóżmy, że wartość A to 10, a B to 20.

Pokaż przykłady

Operator Opis Przykład
> Lepszy niż (A> B) jest fałszywe
< Mniej niż (A <B) jest Prawdą
> = Większe bądź równe (A> = B) jest fałszywe
<= Mniejsze lub równe (A <= B) jest Prawdą
== Równość (A == B) jest fałszem
! = Nie równe (A! = B) jest Prawdą

Operatory logiczne

Operatory logiczne służą do łączenia dwóch lub więcej warunków. Operatory logiczne również zwracają wartość logiczną. Załóżmy, że wartość zmiennej A wynosi 10, a B wynosi 20.

Pokaż przykłady

Operator Opis Przykład
&& (I) Operator zwraca prawdę tylko wtedy, gdy wszystkie określone wyrażenia zwracają wartość true (A> 10 && B> 10) jest fałszywe
|| (LUB) Operator zwraca prawdę, jeśli przynajmniej jedno z podanych wyrażeń zwróci wartość true (A> 10 || B> 10) jest Prawdą
! (NIE) Operator zwraca odwrotność wyniku wyrażenia. Na przykład:! (> 5) zwraca fałsz ! (A> 10) jest Prawdą

Operatory bitowe

Załóżmy, że zmienna A = 2 i B = 3

Pokaż przykłady

Operator Opis Przykład
& (Bitowe AND) Wykonuje operację logiczną AND na każdym bicie argumentów całkowitych. (A i B) wynosi 2
| (BitWise LUB) Wykonuje operację logiczną LUB na każdym bicie argumentów całkowitych. (A | B) wynosi 3
^ (Bitowy XOR) Wykonuje logiczną operację OR na wyłączność na każdym bicie argumentów całkowitych. Wyłączne OR oznacza, że ​​albo operand pierwszy jest prawdziwy, albo operand drugi jest prawdziwy, ale nie oba. (A ^ B) wynosi 1
~ (Bitowe nie) Jest operatorem jednoargumentowym i działa poprzez odwrócenie wszystkich bitów w operandzie. (~ B) wynosi -4
<< (Lewy Shift) Przenosi wszystkie bity w pierwszym operandzie w lewo o liczbę miejsc określoną w drugim operandzie. Nowe bity są wypełnione zerami. Przesunięcie wartości w lewo o jedną pozycję jest równoznaczne z pomnożeniem jej przez 2, przesunięcie o dwie pozycje jest równoważne z pomnożeniem przez 4 i tak dalej. (A << 1) to 4
>> (prawy Shift) Binarny operator przesunięcia w prawo. Wartość lewego operandu jest przesuwana w prawo o liczbę bitów określoną przez prawy operand. (A >> 1) wynosi 1
>>> (Przesunięcie w prawo z Zerem) Ten operator jest podobny do operatora >>, z tą różnicą, że bity przesunięte po lewej stronie są zawsze równe zero. (A >>> 1) wynosi 1

Operatory przypisania

Pokaż przykłady

Operator Opis Przykład
= (Proste przypisanie) Przypisuje wartości z prawego operandu do lewego operandu C = A + B przypisze wartość A + B do C.
+ = (Dodaj i przypisz) Dodaje prawy operand do lewego operandu i przypisuje wynik do lewego operandu. C + = A jest równoważne C = C + A
- = (odejmowanie i przypisywanie) Odejmuje prawy operand od lewego operandu i przypisuje wynik do lewego operandu. C - = A jest równoważne C = C - A
* = (Pomnożenie i przypisanie) Mnoży prawy operand przez lewy operand i przypisuje wynik lewemu operandowi. C * = A jest równoważne C = C * A
/ = (Dzielenie i przypisywanie) Dzieli lewy operand z prawym operandem i przypisuje wynik lewemu operandowi.

Note - Ta sama logika dotyczy operatorów bitowych, więc staną się one << =, >> =, >> =, & =, | = i ^ =.

Różni operatorzy

Operator negacji (-)

Zmienia znak wartości. Weźmy przykład.

var x:number = 4 
var y = -x; 
console.log("value of x: ",x);   //outputs 4 
console.log("value of y: ",y);   //outputs -4

Podczas kompilacji wygeneruje następujący kod 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

Wytworzy następujący wynik -

value of x:  4 
value of y:  -4

Operatory ciągów: operator konkatenacji (+)

Operator + zastosowany do ciągów dołącza drugi ciąg do pierwszego. Poniższy przykład pomoże nam zrozumieć tę koncepcję.

var msg:string = "hello"+"world" 
console.log(msg)

Podczas kompilacji wygeneruje następujący kod JavaScript.

//Generated by typescript 1.8.10
var msg = "hello" + "world";
console.log(msg);

Wytworzy następujący wynik -

helloworld

Operacja konkatenacji nie dodaje spacji między ciągami. W jednej instrukcji można połączyć wiele ciągów.

Operator warunkowy (?)

Ten operator jest używany do reprezentowania wyrażenia warunkowego. Operator warunkowy jest czasami nazywany operatorem trójskładnikowym. Składnia jest taka, jak podano poniżej -

Test ? expr1 : expr2
  • Test - odnosi się do wyrażenia warunkowego

  • expr1 - wartość zwracana, jeśli warunek jest prawdziwy

  • expr2 - wartość zwracana, jeśli warunek jest fałszywy

Spójrzmy na następujący kod -

var num:number = -2 
var result = num > 0 ?"positive":"non-positive" 
console.log(result)

Linia 2 sprawdza, czy wartość w zmiennej numjest większe od zera. Gdybynum jest ustawiona na wartość większą od zera, zwraca łańcuch „dodatni”, w przeciwnym razie zostanie zwrócony ciąg „niedodatni”.

Podczas kompilacji wygeneruje następujący kod JavaScript.

//Generated by typescript 1.8.10
var num = -2;
var result = num > 0 ? "positive" : "non-positive";
console.log(result);

Powyższy fragment kodu wygeneruje następujące dane wyjściowe -

non-positive

Operatory typu

operator typu

Jest to operator jednoargumentowy. Ten operator zwraca typ danych operandu. Spójrz na następujący przykład -

var num = 12 
console.log(typeof num);   //output: number

Podczas kompilacji wygeneruje następujący kod JavaScript.

//Generated by typescript 1.8.10
var num = 12;
console.log(typeof num);   //output: number

Wytworzy następujący wynik -

number

wystąpienie

Ten operator może służyć do testowania, czy obiekt jest określonego typu, czy nie. Sposób użyciainstanceof operator omówiono w rozdziale classes.