0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

鴻蒙TypeScript入門學(xué)習(xí)第5天:【TypeScript 運算符】

jf_46214456 ? 2024-04-01 16:18 ? 次閱讀

1、TypeScript 運算符

運算符用于執(zhí)行程序代碼運算,會針對一個以上操作數(shù)項目來進行運算。

考慮以下計算:

7 + 5 = 12復(fù)制

以上實例中 7、5 和 12 是操作數(shù)。

運算符 + 用于加值。

運算符 = 用于賦值。

TypeScript 主要包含以下幾種運算:

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

2、算術(shù)運算符

假定 y=5 ,下面的表格解釋了這些算術(shù)運算符的操作:

運算符描述例子x 運算結(jié)果y 運算結(jié)果
+加法x=y+275
-減法x=y-235
*乘法x=y*2105
/除法x=y/22.55
%取模(余數(shù))x=y%215
++自增x=++y66
x=y++56
--自減x=--y44
x=y--54

實例

使用 tsc 命令編譯以上代碼得到如下 JavaScript 代碼:

var num1 = 10; var num2 = 2; var res = 0; res = num1 + num2; console.log("加: " + res); res = num1 - num2; console.log("減: " + res); res = num1 * num2; console.log("乘: " + res); res = num1 / num2; console.log("除: " + res); res = num1 % num2; console.log("余數(shù): " + res); num1++; console.log("num1 自增運算: " + num1); num2--; console.log("num2 自減運算: " + num2);

執(zhí)行以上 JavaScript 代碼,輸出結(jié)果為:

加:        12
減: 8
乘:    20
除:   5
余數(shù):   0
num1 自增運算: 11
num2 自減運算: 1

開始前熟悉鴻蒙文檔

鴻蒙OS開發(fā)更多內(nèi)容↓點擊HarmonyOSOpenHarmony技術(shù)
鴻蒙技術(shù)文檔《鴻蒙NEXT星河版開發(fā)學(xué)習(xí)文檔》

搜狗高速瀏覽器截圖20240326151547.png

3、關(guān)系運算符

關(guān)系運算符用于計算結(jié)果是否為 true 或者 false。

x=5,下面的表格解釋了關(guān)系運算符的操作:

運算符描述比較返回值
==等于x==8false
x==5true
!=不等于x!=8true
>大于x>8false
<小于x<8true
>=大于或等于x>=8false
<=小于或等于x<=8true

實例

var num1:number = 10

var num2:number = 2

var res:number = 0

   

res = num1 + num2

console.log("加:  "+res);

res = num1 - num2;

console.log("減: "+res)

res = num1*num2

console.log("乘:    "+res)

res = num1/num2

console.log("除:   "+res)

   

res = num1%num2

console.log("余數(shù):   "+res)

num1++

console.log("num1 自增運算: "+num1)

num2--

console.log("num2 自減運算: "+num2)復(fù)制
var num1:number = 5; var num2:number = 9; console.log("num1 的值為: "+num1); console.log("num2 的值為:"+num2); var res = num1 >num2 console.log("num1 大于n num2: "+res) res = num1< num2 console.log("num1 小于 num2: "+res) res = num1 >=num2 console.log("num1 大于或等于 num2: "+res) res = num1<=num2 console.log("num1 小于或等于 num2: "+res) res = num1==num2 console.log("num1 等于 num2: "+res) res = num1!=num2 console.log("num1 不等于 num2: "+res)復(fù)制

使用 tsc 命令編譯以上代碼得到如下 JavaScript 代碼:

var num1 = 5;

var num2 = 9;

console.log("num1 的值為: " + num1);

console.log("num2 的值為:" + num2);

var res = num1  > num2;

console.log("num1 大于n num2: " + res);

res = num1   num2;

console.log("num1 小于 num2: " + res);

res = num1  >= num2; console.log("num1 大于或等于 num2: " + res);

res = num1 <= num2;

console.log("num1 小于或等于 num2: " + res);

res = num1 == num2;

console.log("num1 等于 num2: " + res);

res = num1 != num2;

console.log("num1 不等于 num2: " + res);

執(zhí)行以上 JavaScript 代碼,輸出結(jié)果為:復(fù)制
num1 的值為: 5
num2 的值為:9
num1 大于n num2: false
num1 小于 num2: true
num1 大于或等于  num2: false
num1 小于或等于 num2: true
num1 等于 num2: false
num1 不等于 num2: true復(fù)制


4、邏輯運算符

邏輯運算符用于測定變量或值之間的邏輯。

給定 x=6 以及 y=3,下表解釋了邏輯運算符:

運算符描述例子
&&and(x < 10 && y > 1) 為 true
!not!(x==y) 為 true

實例

var avg:number = 20;

var percentage:number = 90;

console.log("avg 值為: "+avg+" ,percentage 值為: "+percentage);

var res:boolean = ((avg >50)&&(percentage >80));

console.log("(avg >50)&&(percentage >80): ",res);

var res:boolean = ((avg >50)||(percentage >80));

console.log("(avg >50)||(percentage >80): ",res);

var res:boolean=!((avg >50)&&(percentage >80));

console.log("!((avg >50)&&(percentage >80)): ",res);復(fù)制

使用 tsc 命令編譯以上代碼得到如下 JavaScript 代碼:

var avg = 20;

var percentage = 90;

console.log("avg 值為: " + avg + " ,percentage 值為: " + percentage);

var res = ((avg > 50) && (percentage > 80));

console.log("(avg >50)&&(percentage >80): ", res);

var res = ((avg > 50) || (percentage > 80));

console.log("(avg >50)||(percentage >80): ", res);

var res = !((avg > 50) && (percentage > 80));

console.log("!((avg >50)&&(percentage >80)): ", res);復(fù)制

執(zhí)行以上 JavaScript 代碼,輸出結(jié)果為:

avg 值為: 20 ,percentage 值為: 90
(avg >50)&&(percentage >80):  false
(avg >50)||(percentage >80):  true
!((avg >50)&&(percentage >80)):  true復(fù)制

5、短路運算符(&& 與 ||)

&& 與 || 運算符可用于組合表達式。 && 運算符只有在左右兩個表達式都為 true 時才返回 true。

考慮以下實例:

var a = 10 
var result = ( a< 10 && a >5)復(fù)制

以上實例中 a < 10 與 a > 5 是使用了 && 運算符的組合表達式,第一個表達式返回了 false,由于 && 運算需要兩個表達式都為 true,所以如果第一個為 false,就不再執(zhí)行后面的判斷(a > 5 跳過計算),直接返回 false。

|| 運算符只要其中一個表達式為 true ,則該組合表達式就會返回 true。

考慮以下實例:

var a = 10 
var result = ( a >5 || a< 10)復(fù)制

以上實例中 a > 5 與 a < 10 是使用了 || 運算符的組合表達式,第一個表達式返回了 true,由于 || 組合運算只需要一個表達式為 true,所以如果第一個為 true,就不再執(zhí)行后面的判斷(a < 10 跳過計算),直接返回 true。


6、位運算符

位操作是程序設(shè)計中對位模式按位或二進制數(shù)的一元和二元操作。

運算符描述例子類似于結(jié)果十進制
&AND,按位與處理兩個長度相同的二進制數(shù),兩個相應(yīng)的二進位都為 1,該位的結(jié)果值才為 1,否則為 0。x = 5 & 10101 & 000100011
OR,按位或處理兩個長度相同的二進制數(shù),兩個相應(yīng)的二進位中只要有一個為 1,該位的結(jié)果值為 1。x = 510101
~取反,取反是一元運算符,對一個二進制數(shù)的每一位執(zhí)行邏輯反操作。使數(shù)字 1 成為 0,0 成為 1。x = ~ 5~01011010-6
^異或,按位異或運算,對等長二進制模式按位或二進制數(shù)的每一位執(zhí)行邏輯異按位或操作。操作的結(jié)果是如果某位不同則該位為 1,否則該位為 0。x = 5 ^ 10101 ^ 000101004
<<左移,把 << 左邊的運算數(shù)的各二進位全部左移若干位,由 << 右邊的數(shù)指定移動的位數(shù),高位丟棄,低位補 0。x = 5 << 10101 << 1101010
>>右移,把 >> 左邊的運算數(shù)的各二進位全部右移若干位,>> 右邊的數(shù)指定移動的位數(shù)。x = 5 >> 10101 >> 100102
>>>無符號右移,與有符號右移位類似,除了左邊一律使用0 補位。x = 2 >>> 10010 >>> 100011

實例

var a:number = 2; // 二進制 10

var b:number = 3; // 二進制 11

var result; result = (a & b);

console.log("(a & b) = > ",result) result = (a | b);

console.log("(a | b) = > ",result) result = (a ^ b);

console.log("(a ^ b) = > ",result); result = (~b);

console.log("(~b) = > ",result); result = (a   b);

console.log("(a < < b) = > ",result); result = (a  >> b);

console.log("(a > > b) = > ",result); result = (a  >> > 1);

console.log("(a > >> 1) = > ",result);復(fù)制

使用 tsc 命令編譯以上代碼得到如下 JavaScript 代碼:

var a = 2; // 二進制 10

var b = 3; // 二進制 11

var result; result = (a & b);

console.log("(a & b) = > ", result); result = (a | b);

console.log("(a | b) = > ", result); result = (a ^ b);

console.log("(a ^ b) = > ", result); result = (~b);

console.log("(~b) = > ", result); result = (a   b);

console.log("(a < < b) = > ", result); result = (a  >> b);

console.log("(a > > b) = > ", result); result = (a  >> > 1);

console.log("(a > >> 1) = > ", result);復(fù)制

執(zhí)行以上 JavaScript 代碼,輸出結(jié)果為:

(a & b) = >  2
(a | b) = >  3
(a ^ b) = >  1
(~b) = >  -4
(a < < b) = >  16
(a > > b) = >  0
(a > >> 1) = >  1
復(fù)制

7、賦值運算符

賦值運算符用于給變量賦值。

給定 x=10y=5 ,下面的表格解釋了賦值運算符:

運算符例子實例x 值
= (賦值)x = yx = yx = 5
+= (先進行加運算后賦值)x += yx = x + yx = 15
-= (先進行減運算后賦值)x -= yx = x - yx = 5
*= (先進行乘運算后賦值)x *= yx = x * yx = 50
/= (先進行除運算后賦值)x /= yx = x / yx = 2

類似的邏輯運算符也可以與賦值運算符聯(lián)合使用:<<=, >>=, >>>=, &=, |= 與 ^=。

8、實例

var a: number = 12

var b:number = 10

a = b

console.log("a = b: "+a)

a += b

console.log("a+=b: "+a)

a -= b

console.log("a-=b: "+a)

a *= b

console.log("a*=b: "+a)

a /= b console.log("a/=b: "+a)

a %= b

console.log("a%=b: "+a)復(fù)制

使用 tsc 命令編譯以上代碼得到如下 JavaScript 代碼:

var a = 12;

var b = 10;

a = b;

console.log("a = b: " + a);

a += b;

console.log("a+=b: " + a);

a -= b;

console.log("a-=b: " + a);

a *= b;

console.log("a*=b: " + a);

a /= b;

console.log("a/=b: " + a);

a %= b;

console.log("a%=b: " + a);復(fù)制

執(zhí)行以上 JavaScript 代碼,輸出結(jié)果為:

a = b: 10
a+=b: 20
a-=b: 10
a*=b: 100
a/=b: 10
a%=b: 0復(fù)制

9、三元運算符 (?)

三元運算有 3 個操作數(shù),并且需要判斷布爾表達式的值。該運算符的主要是決定哪個值應(yīng)該賦值給變量。

Test ? expr1 : expr2復(fù)制
  • Test ? 指定的條件語句
  • expr1 ? 如果條件語句 Test 返回 true 則返回該值
  • expr2 ? 如果條件語句 Test 返回 false 則返回該值

讓我們看下以下實例:

var num:number = -2 var result = num > 0 ? "大于 0" : "小于 0,或等于 0" console.log(result)復(fù)制

實例中用于判斷變量是否大于 0。

使用 tsc 命令編譯以上代碼得到如下 JavaScript 代碼:

var num = -2; var result = num > 0 ? "大于 0" : "小于 0,或等于 0"; console.log(result);復(fù)制

以上實例輸出結(jié)果如下:

小于 0,或等于 0復(fù)制

10、類型運算符

typeof 運算符

typeof 是一元運算符,返回操作數(shù)的數(shù)據(jù)類型。

查看以下實例:

var num = 12 console.log(typeof num); //輸出結(jié)果: number

使用 tsc 命令編譯以上代碼得到如下 JavaScript 代碼:

var num = 12; console.log(typeof num); //輸出結(jié)果: number復(fù)制

以上實例輸出結(jié)果如下:

number復(fù)制

11、instanceof

instanceof 運算符用于判斷對象是否為指定的類型,后面章節(jié)我們會具體介紹它。


12、其他運算符

負號運算符(-)

更改操作數(shù)的符號,查看以下實例:

var x:number = 4 var y = -x; console.log("x 值為: ",x); // 輸出結(jié)果 4 console.log("y 值為: ",y); // 輸出結(jié)果 -4復(fù)制

使用 tsc 命令編譯以上代碼得到如下 JavaScript 代碼:

var x = 4; var y = -x; console.log("x 值為: ", x); // 輸出結(jié)果 4 console.log("y 值為: ", y); // 輸出結(jié)果 -4復(fù)制

以上實例輸出結(jié)果如下:

x 值為:  4
y 值為:  -4復(fù)制

字符串運算符: 連接運算符 (+)

  • 運算符可以拼接兩個字符串,查看以下實例:

var msg:string = "RUNOOB"+".COM" console.log(msg)

使用 tsc 命令編譯以上代碼得到如下 JavaScript 代碼:

var msg = "RUNOOB" + ".COM"; console.log(msg);

以上實例輸出結(jié)果如下:

RUNOOB.COM
聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 鴻蒙系統(tǒng)
    +關(guān)注

    關(guān)注

    183

    文章

    2627

    瀏覽量

    65783
  • 鴻蒙
    +關(guān)注

    關(guān)注

    56

    文章

    2267

    瀏覽量

    42481
  • HarmonyOS
    +關(guān)注

    關(guān)注

    79

    文章

    1946

    瀏覽量

    29733
  • OpenHarmony
    +關(guān)注

    關(guān)注

    25

    文章

    3548

    瀏覽量

    15735
  • 鴻蒙OS
    +關(guān)注

    關(guān)注

    0

    文章

    188

    瀏覽量

    4336
收藏 人收藏

    評論

    相關(guān)推薦

    c語言從右到左的運算符有哪些

    以下是一些主要的從右到左運算的C語言運算符: 函數(shù)調(diào)用運算符 ( () ):當(dāng)您調(diào)用一個函數(shù)時,參數(shù)列表是從右到左進行求值的。 后置遞增運算符 ( ++ ) 和 后置遞減
    的頭像 發(fā)表于 08-20 11:39 ?271次閱讀

    HarmonyOS Next原生應(yīng)用開發(fā)-從TS到ArkTS的適配規(guī)則(十三)

    一、部分支持instanceof運算符 規(guī)則:arkts-instanceof-ref-types 級別:錯誤 在TypeScript中,instanceof運算符的左操作數(shù)的類型必須為any類型
    發(fā)表于 08-12 09:42

    鴻蒙TypeScript學(xué)習(xí)21:【聲明文件】

    TypeScript 作為 JavaScript 的超集,在開發(fā)過程中不可避免要引用其他第三方的 JavaScript 的庫。
    的頭像 發(fā)表于 04-19 15:02 ?413次閱讀
    <b class='flag-5'>鴻蒙</b><b class='flag-5'>TypeScript</b><b class='flag-5'>學(xué)習(xí)</b>21<b class='flag-5'>天</b>:【聲明文件】

    鴻蒙TypeScript學(xué)習(xí)20:【模塊】

    TypeScript 模塊的設(shè)計理念是可以更換的組織代碼。 模塊是在其自身的作用域里執(zhí)行,并不是在全局作用域,這意味著定義在模塊里面的變量、函數(shù)和類等在模塊外部是不可見的,除非明確地使用 export 導(dǎo)出它們。類似地,我們必須通過 import 導(dǎo)入其他模塊導(dǎo)出的變量、函數(shù)、類等。
    的頭像 發(fā)表于 04-18 15:19 ?628次閱讀
    <b class='flag-5'>鴻蒙</b><b class='flag-5'>TypeScript</b><b class='flag-5'>學(xué)習(xí)</b><b class='flag-5'>第</b>20<b class='flag-5'>天</b>:【模塊】

    鴻蒙語言TypeScript學(xué)習(xí)18:【泛型】

    泛型(Generics)是一種編程語言特性,允許在定義函數(shù)、類、接口等時使用占位來表示類型,而不是具體的類型。
    的頭像 發(fā)表于 04-16 14:56 ?281次閱讀
    <b class='flag-5'>鴻蒙</b>語言<b class='flag-5'>TypeScript</b><b class='flag-5'>學(xué)習(xí)</b><b class='flag-5'>第</b>18<b class='flag-5'>天</b>:【泛型】

    鴻蒙語言TypeScript學(xué)習(xí)16:【類】

    TypeScript 支持面向?qū)ο蟮乃刑匦裕热?類、接口等。
    的頭像 發(fā)表于 04-15 09:29 ?811次閱讀
    <b class='flag-5'>鴻蒙</b>語言<b class='flag-5'>TypeScript</b><b class='flag-5'>學(xué)習(xí)</b><b class='flag-5'>第</b>16<b class='flag-5'>天</b>:【類】

    鴻蒙TypeScript 開發(fā)學(xué)習(xí)9:【TypeScript Number】

    TypeScript 與 JavaScript 類似,支持 Number 對象。 Number 對象是原始數(shù)值的包裝對象。
    的頭像 發(fā)表于 04-07 18:02 ?672次閱讀
    <b class='flag-5'>鴻蒙</b><b class='flag-5'>TypeScript</b> 開發(fā)<b class='flag-5'>學(xué)習(xí)</b><b class='flag-5'>第</b>9<b class='flag-5'>天</b>:【<b class='flag-5'>TypeScript</b> Number】

    鴻蒙TypeScript入門學(xué)習(xí)8:【TypeScript 函數(shù)】

    函數(shù)是一組一起執(zhí)行一個任務(wù)的語句。 您可以把代碼劃分到不同的函數(shù)中。如何劃分代碼到不同的函數(shù)中是由您來決定的,但在邏輯上,劃分通常是根據(jù)每個函數(shù)執(zhí)行一個特定的任務(wù)來進行的。
    的頭像 發(fā)表于 04-03 14:54 ?323次閱讀
    <b class='flag-5'>鴻蒙</b><b class='flag-5'>TypeScript</b><b class='flag-5'>入門</b><b class='flag-5'>學(xué)習(xí)</b><b class='flag-5'>第</b>8<b class='flag-5'>天</b>:【<b class='flag-5'>TypeScript</b> 函數(shù)】

    鴻蒙TypeScript入門學(xué)習(xí)6:【條件語句】

    條件語句用于基于不同的條件來執(zhí)行不同的動作。 TypeScript 條件語句是通過一條或多條語句的執(zhí)行結(jié)果(True 或 False)來決定執(zhí)行的代碼塊。
    的頭像 發(fā)表于 04-01 13:51 ?637次閱讀
    <b class='flag-5'>鴻蒙</b><b class='flag-5'>TypeScript</b><b class='flag-5'>入門</b><b class='flag-5'>學(xué)習(xí)</b><b class='flag-5'>第</b>6<b class='flag-5'>天</b>:【條件語句】

    鴻蒙TypeScript入門學(xué)習(xí)4:【TS變量聲明】

    變量是一種使用方便的占位,用于引用計算機內(nèi)存地址。 我們可以把變量看做存儲數(shù)據(jù)的容器。
    的頭像 發(fā)表于 03-29 14:49 ?1223次閱讀

    鴻蒙TypeScript開發(fā)入門學(xué)習(xí)3:【TS基礎(chǔ)類型】

    任意值是 TypeScript 針對編程時類型不明確的變量使用的一種數(shù)據(jù)類型,它常用于以下三種情況。
    的頭像 發(fā)表于 03-28 15:02 ?391次閱讀
    <b class='flag-5'>鴻蒙</b><b class='flag-5'>TypeScript</b>開發(fā)<b class='flag-5'>入門</b><b class='flag-5'>學(xué)習(xí)</b><b class='flag-5'>第</b>3<b class='flag-5'>天</b>:【TS基礎(chǔ)類型】

    鴻蒙TypeScript入門學(xué)習(xí)2TypeScript安裝】

    本文介紹 TypeScript 環(huán)境的安裝。 我們需要使用到 npm 工具安裝,如果你還不了解 npm,可以參考我之前文檔。
    的頭像 發(fā)表于 03-27 15:22 ?380次閱讀
    <b class='flag-5'>鴻蒙</b><b class='flag-5'>TypeScript</b><b class='flag-5'>入門</b><b class='flag-5'>學(xué)習(xí)</b><b class='flag-5'>第</b>2<b class='flag-5'>天</b>【<b class='flag-5'>TypeScript</b>安裝】

    邏輯運算符兩側(cè)運算對象的數(shù)據(jù)類型是

    邏輯運算符是編程中常用的運算符之一,用于判斷兩個表達式之間的關(guān)系,并返回布爾值結(jié)果。在邏輯運算中,兩側(cè)運算對象的數(shù)據(jù)類型可以是任意類型。 首先,我們需要了解邏輯
    的頭像 發(fā)表于 11-30 14:15 ?1359次閱讀

    python中運算符的優(yōu)先級大小

    Python中運算符的優(yōu)先級決定了表達式中各個運算符的計算順序。了解運算符的優(yōu)先級對于正確理解和編寫復(fù)雜的表達式非常重要。本文將詳細介紹Python中運算符的優(yōu)先級,并給出一些示例來幫
    的頭像 發(fā)表于 11-29 16:21 ?1844次閱讀

    C語言運算符的使用方法

    詳細介紹了C語言表達式、算術(shù)運算符、賦值運算符、關(guān)系運算符、條件結(jié)構(gòu)、邏輯運算符、位運算符的語法和使用方法,并討論了
    發(fā)表于 11-02 11:30 ?932次閱讀
    C語言<b class='flag-5'>運算符</b>的使用方法