運算符定義了將在數(shù)據(jù)上執(zhí)行的某些功能。運算符工作的數(shù)據(jù)稱為操作數(shù)。請考慮以下表達(dá)式:
7 + 5 = 12
在這里,值7,5和12是操作數(shù) ,+和=都是運算符。
TypeScript中的主要運算符可歸類為:
假設(shè)變量a和b中的值分別為10和5。
運算符 | 描述 | 例 |
---|---|---|
+(加法) | 返回操作數(shù)的總和 | a+b = 15 |
- (減法) | 返回值的差 | a-b = 5 |
*(乘法) | 返回值的乘積 | a * b = 50 |
/(除法) | 執(zhí)行除法運算并返回商 | a / b = 2 |
%(取余) | 執(zhí)行除法運算并返回余數(shù) | a%b = 2 |
++(遞增) | 將變量的值增加1 | a++ = 10 |
--(遞減) | 將變量的值減少1 | a-- = 9 |
關(guān)系運算符測試或定義兩個實體之間的關(guān)系類型。關(guān)系運算符返回一個Boolean值,即true/ false。
假設(shè)A的值是10,B的值為20。
運算符 | 描述 | 示例 |
---|---|---|
> | 大于 | (A > B)為False |
< | 小于 | (A < B)為True |
> = | 大于或等于 | (A > = B)為False |
<= | 小于或等于 | (A <= B)為True |
== | 等于 | (A == B)為False |
!= | 不等于 | (A!= B)為True |
邏輯運算符用于組合兩個或多個條件。邏輯運算符也返回一個Boolean值。假設(shè)定變量A的值是10,變量B的值為20。
運算符 | 描述 | 示例 |
---|---|---|
&&(與) | 僅當(dāng)指定的所有表達(dá)式都返回true時,運算符才返回true | (A > 10 && B > 10)為False |
|| (或) | 如果指定的表達(dá)式至少有一個返回true,則運算符返回true | (A > 10 || B > 10)為True |
?。ǚ牵?/td> | 運算符返回相反的表達(dá)式結(jié)果。例如:!(>5)返回false | !(A > 10)為True |
假設(shè)變量A = 2,B = 3
運算符 | 描述 | 示例 |
---|---|---|
&(按位與) | 它對其整數(shù)參數(shù)的每一位執(zhí)行Boolean“與”運算。 | (A&B)為 2 |
| (按位或) | 它對其整數(shù)參數(shù)的每一位執(zhí)行Boolean“或”運算。 | (A | B)為 3 |
^(按位異或) | 它對其整數(shù)參數(shù)的每一位執(zhí)行Boolean“異或”運算。異或意味著操作數(shù)1為true或操作數(shù)2為true,但兩者不能同時為true。 | (A ^ B)為 1 |
?(按位取反) | 這是一個一元運算符,并通過取反操作數(shù)中的所有位進(jìn)行操作。 | (?B)為 -4 |
<<(左移) | 它通過在第二個操作數(shù)指定的位數(shù)將第一個操作數(shù)中的所有位向左移動。新位用零填充。將一個值左移一個位置相當(dāng)于將其乘以2,移位兩個位置相當(dāng)于乘以4,依此類推。 | (A << 1)為 4 |
>>(右移) | 二進(jìn)制右移運算符。左操作數(shù)的值是由右操作數(shù)指定的位數(shù)來向右移動。 | (A >> 1)為 1 |
>>>(無符號右移) | 這個運算符就像>>運算符一樣,只不過在左邊移入的位總是為零。 | (A >>> 1)為 1 |
運算符 | 描述 | 示例 |
---|---|---|
=(簡單的賦值) | 將值從右側(cè)操作數(shù)賦給左側(cè)操作數(shù) | C = A+ B會將A+B的值賦給C |
+=(加法賦值) | 它將右操作數(shù)添加到左操作數(shù)并將結(jié)果賦給左操作數(shù)。 | C+= A 等效于 C = C+A |
- =(減法賦值) | 它從左操作數(shù)中減去右操作數(shù),并將結(jié)果賦給左操作數(shù)。 | C - = A 等效于 C = C - A |
* =(乘法賦值) | 它將右操作數(shù)與左操作數(shù)相乘,并將結(jié)果賦給左操作數(shù)。 | C * = A 等效于 C = C * A |
/ =(除法賦值) | 它將左操作數(shù)除以右操作數(shù),并將結(jié)果賦給左操作數(shù)。 |
注意:相同的邏輯也適用于位運算符,所以他們會變?yōu)?span><<=, >>=, >>=, &=, |= and ^=。
更改值的符號。讓我們舉一個例子:
var x:number = 4 var y = -x; console.log("value of x: ",x); //outputs 4 console.log("value of y: ",y); //outputs -4
在編譯時,它會生成以下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
它會產(chǎn)生如下的輸出:
value of x: 4 value of y: -4
應(yīng)用于字符串時的 + 運算符將第二個字符串追加到第一個字符串。下面的例子可以幫助我們理解這個概念:
var msg:string = "hello"+"world" console.log(msg)
在編譯時,它會生成以下JavaScript代碼:
//Generated by typescript 1.8.10 var msg = "hello" + "world"; console.log(msg);
它會產(chǎn)生如下的輸出:
helloworld
連接操作不會在字符串之間添加一個空格??梢栽趩蝹€語句中連接多個字符串。
這個運算符是用來表示一個條件表達(dá)式。條件運算有時也被稱為三元運算符。語法如下:
Test ? expr1 : expr2
Test - 指的是條件表達(dá)式
expr1 - 如果條件為true,則返回值
expr2 - 如果條件為false,則返回值
讓我們來看看下面的代碼:
var num:number = -2 var result = num > 0 ?"positive":"non-positive" console.log(result)
第2行檢查變量num中的值是否大于零。如果num設(shè)置為大于零的值,則返回字符串“positive”,否則返回字符串“non-positive”。
在編譯時,它會生成以下JavaScript代碼:
//Generated by typescript 1.8.10 var num = -2; var result = num > 0 ? "positive" : "non-positive"; console.log(result);
上面的代碼片段將產(chǎn)生如下的輸出:
non-positive
這是一個一元運算符。這個運算符返回操作數(shù)的數(shù)據(jù)類型。看看下面的例子:
var num = 12 console.log(typeof num); //output: number
在編譯時,它會生成以下JavaScript代碼:
//Generated by typescript 1.8.10 var num = 12; console.log(typeof num); //output: number
它會產(chǎn)生如下的輸出:
number
此運算符可用于測試對象是否為指定類型。在“類”這一章節(jié)中討論了instanceof運算符的使用。
更多建議: