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

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

3天內不再提示

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

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

1、TypeScript 運算符

運算符用于執行程序代碼運算,會(huì )針對一個(gè)以上操作數項目來(lái)進(jìn)行運算。

考慮以下計算:

7 + 5 = 12復制

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

運算符 + 用于加值。

運算符 = 用于賦值。

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

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

2、算術(shù)運算符

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

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

實(shí)例

使用 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("余數: " + res); num1++; console.log("num1 自增運算: " + num1); num2--; console.log("num2 自減運算: " + num2);

執行以上 JavaScript 代碼,輸出結果為:

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

開(kāi)始前熟悉鴻蒙文檔

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

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

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

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

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

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

實(shí)例

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("余數:   "+res)

num1++

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

num2--

console.log("num2 自減運算: "+num2)復制
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)復制

使用 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);

執行以上 JavaScript 代碼,輸出結果為:復制
num1 的值為: 5
num2 的值為:9
num1 大于n num2: false
num1 小于 num2: true
num1 大于或等于  num2: false
num1 小于或等于 num2: true
num1 等于 num2: false
num1 不等于 num2: true復制


4、邏輯運算符

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

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

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

實(shí)例

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);復制

使用 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);復制

執行以上 JavaScript 代碼,輸出結果為:

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

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

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

考慮以下實(shí)例:

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

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

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

考慮以下實(shí)例:

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

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


6、位運算符

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

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

實(shí)例

var a:number = 2; // 二進(jìn)制 10

var b:number = 3; // 二進(jìn)制 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);復制

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

var a = 2; // 二進(jìn)制 10

var b = 3; // 二進(jìn)制 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);復制

執行以上 JavaScript 代碼,輸出結果為:

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

7、賦值運算符

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

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

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

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

8、實(shí)例

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)復制

使用 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);復制

執行以上 JavaScript 代碼,輸出結果為:

a = b: 10
a+=b: 20
a-=b: 10
a*=b: 100
a/=b: 10
a%=b: 0復制

9、三元運算符 (?)

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

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

讓我們看下以下實(shí)例:

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

實(shí)例中用于判斷變量是否大于 0。

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

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

以上實(shí)例輸出結果如下:

小于 0,或等于 0復制

10、類(lèi)型運算符

typeof 運算符

typeof 是一元運算符,返回操作數的數據類(lèi)型。

查看以下實(shí)例:

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

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

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

以上實(shí)例輸出結果如下:

number復制

11、instanceof

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


12、其他運算符

負號運算符(-)

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

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

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

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

以上實(shí)例輸出結果如下:

x 值為:  4
y 值為:  -4復制

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

  • 運算符可以拼接兩個(gè)字符串,查看以下實(shí)例:

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

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

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

以上實(shí)例輸出結果如下:

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

    關(guān)注

    183

    文章

    2626

    瀏覽量

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

    關(guān)注

    55

    文章

    1971

    瀏覽量

    42223
  • HarmonyOS
    +關(guān)注

    關(guān)注

    79

    文章

    1914

    瀏覽量

    29498
  • OpenHarmony
    +關(guān)注

    關(guān)注

    24

    文章

    3448

    瀏覽量

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

    關(guān)注

    0

    文章

    190

    瀏覽量

    4306
收藏 人收藏

    評論

    相關(guān)推薦

    鴻蒙開(kāi)發(fā):【從TypeScript到ArkTS的適配規則】

    ArkTS通過(guò)規范約束了TypeScript(簡(jiǎn)稱(chēng)TS)中過(guò)于靈活而影響開(kāi)發(fā)正確性或者給運行時(shí)帶來(lái)不必要額外開(kāi)銷(xiāo)的特性
    的頭像 發(fā)表于 05-14 09:37 ?738次閱讀
    <b class='flag-5'>鴻蒙</b>開(kāi)發(fā):【從<b class='flag-5'>TypeScript</b>到ArkTS的適配規則】

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

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

    鴻蒙TypeScript學(xué)習第20天:【模塊】

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

    鴻蒙語(yǔ)言TypeScript學(xué)習第16天:【類(lèi)】

    TypeScript 支持面向對象的所有特性,比如 類(lèi)、接口等。
    的頭像 發(fā)表于 04-15 09:29 ?576次閱讀
    <b class='flag-5'>鴻蒙</b>語(yǔ)言<b class='flag-5'>TypeScript</b><b class='flag-5'>學(xué)習</b>第16天:【類(lèi)】

    鴻蒙TypeScript 開(kāi)發(fā)學(xué)習第9天:【TypeScript Number】

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

    鴻蒙TypeScript入門(mén)學(xué)習第8天:【TypeScript 函數】

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

    鴻蒙TypeScript學(xué)習第7天:【TypeScript 循環(huán)】

    有的時(shí)候,我們可能需要多次執行同一塊代碼。一般情況下,語(yǔ)句是按順序執行的:函數中的第一個(gè)語(yǔ)句先執行,接著(zhù)是第二個(gè)語(yǔ)句,依此類(lèi)推。 編程語(yǔ)言提供了更為復雜執行路徑的多種控制結構。
    的頭像 發(fā)表于 04-02 14:28 ?531次閱讀
    <b class='flag-5'>鴻蒙</b><b class='flag-5'>TypeScript</b><b class='flag-5'>學(xué)習</b>第7天:【<b class='flag-5'>TypeScript</b> 循環(huán)】

    鴻蒙TypeScript入門(mén)學(xué)習第6天:【條件語(yǔ)句】

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

    鴻蒙TypeScript入門(mén)學(xué)習第4天:【TS變量聲明】

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

    鴻蒙TypeScript開(kāi)發(fā)入門(mén)學(xué)習第3天:【TS基礎類(lèi)型】

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

    鴻蒙TypeScript入門(mén)學(xué)習第2天【TypeScript安裝】

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

    C語(yǔ)言運算符的使用方法

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

    請問(wèn)IAR中的sizeof是一種運算符嗎?

    IAR中的sizeof是一種運算符嗎?是怎么實(shí)現的?
    發(fā)表于 10-08 06:44

    【觸覺(jué)智能 Purple Pi OH 開(kāi)發(fā)板體驗】二、鴻蒙系統APP應用例程學(xué)習HDC使用學(xué)習

    兩年開(kāi)發(fā)鴻蒙APP也是使用的這兩種語(yǔ)言進(jìn)行開(kāi)發(fā)。當下看TypeScript程序還能說(shuō)勉強看懂,但是當下開(kāi)發(fā)程序就沒(méi)那個(gè)實(shí)力了,需要之后在抽時(shí)間學(xué)習。技術(shù)更新的也確實(shí)是快?。。?! 二、天氣預報程序開(kāi)發(fā)
    發(fā)表于 08-31 11:13

    TypeScript之父也搞大模型:推出TypeChat

    C# 和 TypeScript 之父 Anders Hejlsberg 今天宣布了全新的開(kāi)源項目 ——TypeChat,它通過(guò) AI 在自然語(yǔ)言和應用程序模式 (application schema),以及 API 之間構建了一座 “橋梁”,能用新穎有趣的方式使用 TypeScr
    的頭像 發(fā)表于 07-24 09:27 ?639次閱讀
    <b class='flag-5'>TypeScript</b>之父也搞大模型:推出TypeChat
    亚洲欧美日韩精品久久_久久精品AⅤ无码中文_日本中文字幕有码在线播放_亚洲视频高清不卡在线观看