TypeScript 運(yùn)算符

2018-12-28 16:11 更新

什么是運(yùn)算符?

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

7 + 5 = 12

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

TypeScript中的主要運(yùn)算符可歸類為:

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

算術(shù)運(yùn)算符

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

顯示示例

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

關(guān)系運(yùn)算符

關(guān)系運(yùn)算符測(cè)試或定義兩個(gè)實(shí)體之間的關(guān)系類型。關(guān)系運(yùn)算符返回一個(gè)Boolean值,即true/ false

假設(shè)A的值是10,B的值為20。

顯示示例

運(yùn)算符描述示例
>大于(A > B)為False
<小于(A < B)為True
> =大于或等于(A > = B)為False
<=小于或等于(A <= B)為True
==等于(A == B)為False
!=不等于(A!= B)為True

邏輯運(yùn)算符

邏輯運(yùn)算符用于組合兩個(gè)或多個(gè)條件。邏輯運(yùn)算符也返回一個(gè)Boolean值。假設(shè)定變量A的值是10,變量B的值為20。

顯示示例

運(yùn)算符描述示例
&&(與)僅當(dāng)指定的所有表達(dá)式都返回true時(shí),運(yùn)算符才返回true(A > 10 && B > 10)為False
|| (或)如果指定的表達(dá)式至少有一個(gè)返回true,則運(yùn)算符返回true(A > 10 || B > 10)為True
?。ǚ牵?/td>運(yùn)算符返回相反的表達(dá)式結(jié)果。例如:!(>5)返回false!(A > 10)為True

位運(yùn)算符

假設(shè)變量A = 2,B = 3

顯示示例

運(yùn)算符描述示例
&(按位與)它對(duì)其整數(shù)參數(shù)的每一位執(zhí)行Boolean“”運(yùn)算。(A&B)為 2
| (按位或)它對(duì)其整數(shù)參數(shù)的每一位執(zhí)行Boolean“”運(yùn)算。(A | B)為 3
^(按位異或)它對(duì)其整數(shù)參數(shù)的每一位執(zhí)行Boolean“異或”運(yùn)算。異或意味著操作數(shù)1為true或操作數(shù)2為true,但兩者不能同時(shí)為true。(A ^ B)為 1
?(按位取反)這是一個(gè)一元運(yùn)算符,并通過(guò)取反操作數(shù)中的所有位進(jìn)行操作。(?B)為 -4
<<(左移)它通過(guò)在第二個(gè)操作數(shù)指定的位數(shù)將第一個(gè)操作數(shù)中的所有位向左移動(dòng)。新位用零填充。將一個(gè)值左移一個(gè)位置相當(dāng)于將其乘以2,移位兩個(gè)位置相當(dāng)于乘以4,依此類推。(A << 1)為 4
>>(右移)二進(jìn)制右移運(yùn)算符。左操作數(shù)的值是由右操作數(shù)指定的位數(shù)來(lái)向右移動(dòng)。(A >> 1)為 1
>>>(無(wú)符號(hào)右移)這個(gè)運(yùn)算符就像>>運(yùn)算符一樣,只不過(guò)在左邊移入的位總是為零。(A >>> 1)為 1

賦值運(yùn)算符

顯示示例

運(yùn)算符描述示例
=(簡(jiǎn)單的賦值)將值從右側(cè)操作數(shù)賦給左側(cè)操作數(shù)C = A+ B會(huì)將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ùn)算符,所以他們會(huì)變?yōu)?span><<=, >>=, >>=, &=, |= and ^=。

其他運(yùn)算符

否定運(yùn)算符( - )

更改值的符號(hào)。讓我們舉一個(gè)例子:

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

在編譯時(shí),它會(huì)生成以下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

它會(huì)產(chǎn)生如下的輸出:

value of x:  4 
value of y:  -4

字符串運(yùn)算符:連接運(yùn)算符(+)

應(yīng)用于字符串時(shí)的 + 運(yùn)算符將第二個(gè)字符串追加到第一個(gè)字符串。下面的例子可以幫助我們理解這個(gè)概念:

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

在編譯時(shí),它會(huì)生成以下JavaScript代碼:

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

它會(huì)產(chǎn)生如下的輸出:

helloworld

連接操作不會(huì)在字符串之間添加一個(gè)空格??梢栽趩蝹€(gè)語(yǔ)句中連接多個(gè)字符串。

條件運(yùn)算符(?)

這個(gè)運(yùn)算符是用來(lái)表示一個(gè)條件表達(dá)式。條件運(yùn)算有時(shí)也被稱為三元運(yùn)算符。語(yǔ)法如下:

Test ? expr1 : expr2
  • Test - 指的是條件表達(dá)式

  • expr1 - 如果條件為true,則返回值

  • expr2 - 如果條件為false,則返回值

讓我們來(lái)看看下面的代碼:

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

第2行檢查變量num中的值是否大于零。如果num設(shè)置為大于零的值,則返回字符串“positive”,否則返回字符串“non-positive”。

在編譯時(shí),它會(huì)生成以下JavaScript代碼:

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

上面的代碼片段將產(chǎn)生如下的輸出:

non-positive

類型運(yùn)算符

typeof運(yùn)算符

這是一個(gè)一元運(yùn)算符。這個(gè)運(yùn)算符返回操作數(shù)的數(shù)據(jù)類型??纯聪旅娴睦樱?

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

在編譯時(shí),它會(huì)生成以下JavaScript代碼:

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

它會(huì)產(chǎn)生如下的輸出:

number

instanceof運(yùn)算符

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

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

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)