TypeScript 運算符

2018-12-28 16:11 更新

什么是運算符?

運算符定義了將在數(shù)據(jù)上執(zhí)行的某些功能。運算符工作的數(shù)據(jù)稱為操作數(shù)。請考慮以下表達(dá)式:

7 + 5 = 12

在這里,值7,5和12是操作數(shù) ,+和=都是運算符。

TypeScript中的主要運算符可歸類為:

  • 算術(shù)運算符
  • 關(guān)系運算符
  • 邏輯運算符
  • 位運算符
  • 賦值運算符
  • 三元/條件運算符
  • 字符串操作符
  • 類型運算符

算術(shù)運算符

假設(shè)變量a和b中的值分別為10和5。

顯示示例

運算符描述
+(加法)返回操作數(shù)的總和a+b = 15
- (減法)返回值的差a-b = 5
*(乘法)返回值的乘積a * b = 50
/(除法)執(zhí)行除法運算并返回商a / b = 2
%(取余)執(zhí)行除法運算并返回余數(shù)a%b = 2
++(遞增)將變量的值增加1a++ = 10
--(遞減)將變量的值減少1a-- = 9

關(guān)系運算符

關(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

類型運算符

typeof運算符

這是一個一元運算符。這個運算符返回操作數(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

instanceof運算符

此運算符可用于測試對象是否為指定類型。在“類”這一章節(jié)中討論了instanceof運算符的使用。

以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號