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.