鴻蒙開發TypeScript語言:【條件語句】

来源:https://www.cnblogs.com/mau123789/p/18138211
-Advertisement-
Play Games

條件語句用於基於不同的條件來執行不同的動作。 TypeScript 條件語句是通過一條或多條語句的執行結果(True 或 False)來決定執行的代碼塊。 可以通過下圖來簡單瞭解條件語句的執行過程: 條件語句 通常在寫代碼時,您總是需要為不同的決定來執行不同的動作。您可以在代碼中使用條件語句來完成該 ...


條件語句用於基於不同的條件來執行不同的動作。

TypeScript 條件語句是通過一條或多條語句的執行結果(True 或 False)來決定執行的代碼塊。

可以通過下圖來簡單瞭解條件語句的執行過程:

image


條件語句

通常在寫代碼時,您總是需要為不同的決定來執行不同的動作。您可以在代碼中使用條件語句來完成該任務。

在 TypeScript 中,我們可使用以下條件語句:

  • if 語句 - 只有當指定條件為 true 時,使用該語句來執行代碼
  • if...else 語句 - 當條件為 true 時執行代碼,當條件為 false 時執行其他代碼
  • if...else if....else 語句- 使用該語句來選擇多個代碼塊之一來執行
  • switch 語句 - 使用該語句來選擇多個代碼塊之一來執行

if 語句

TypeScript if 語句由一個布爾表達式後跟一個或多個語句組成。

語法

語法格式如下所示:

if(boolean_expression){
    # 在布爾表達式 boolean_expression 為 true 執行
}

如果布爾表達式 boolean_expression為 true,則 if 語句內的代碼塊將被執行。如果布爾表達式為 false,則 if 語句結束後的第一組代碼(閉括弧後)將被執行。

流程圖

image

實例

var  num:number = 5
if (num > 0) { 
   console.log("數字是正數") 
}

編譯以上代碼得到如下 JavaScript 代碼:

var num = 5;
if (num > 0) {
    console.log("數字是正數");
}

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

數字是正數

if...else 語句

一個 if 語句後可跟一個可選的 else 語句,else 語句在布爾表達式為 false 時執行。

語法

語法格式如下所示:

if(boolean_expression){
   # 在布爾表達式 boolean_expression 為 true 執行
}else{
   # 在布爾表達式 boolean_expression 為 false 執行
}

如果布爾表達式 boolean_expression 為 true,則執行 if 塊內的代碼。如果布爾表達式為 false,則執行 else 塊內的代碼。

流程圖

image

實例

TypeScript

var num:number = 12; 
if (num % 2==0) { 
    console.log("偶數"); 
} else {
    console.log("奇數"); 
}

編譯以上代碼得到如下 JavaScript 代碼:

JavaScript

var num = 12;
if (num % 2 == 0) {
    console.log("偶數");
}
else {
    console.log("奇數");
}

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

偶數

if...else if....else 語句

if...else if....else 語句在執行多個判斷條件的時候很有用。

語法

語法格式如下所示:

if(boolean_expression 1) {
    # 在布爾表達式 boolean_expression 1 為 true 執行
} else if( boolean_expression 2) {
    # 在布爾表達式 boolean_expression 2 為 true 執行
} else if( boolean_expression 3) {
    # 在布爾表達式 boolean_expression 3 為 true 執行
} else {
    # 布爾表達式的條件都為 false 時執行
}

需要註意以下幾點:

  • 一個 if 判斷語句可以有 0 或 1 個 else 語句,她必需在 else..if 語句後面。
  • 一個 if 判斷語句可以有 0 或多個 else..if,這些語句必需在 else 之前。
  • 一旦執行了 else..if 內的代碼,後面的 else..if 或 else 將不再執行。

實例

TypeScript

var num:number = 2 
if(num > 0) { 
    console.log(num+" 是正數") 
} else if(num < 0) { 
    console.log(num+" 是負數") 
} else { 
    console.log(num+" 不是正數也不是負數") 
}

編譯以上代碼得到如下 JavaScript 代碼:

JavaScript

var num = 2;
if (num > 0) {
    console.log(num + " 是正數");
}
else if (num < 0) {
    console.log(num + " 是負數");
}
else {
    console.log(num + " 不是正數也不是負數");
}

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

2 是正數

switch…case 語句

一個 switch 語句允許測試一個變數等於多個值時的情況。每個值稱為一個 case,且被測試的變數會對每個 switch case 進行檢查。

switch 語句的語法:

switch(expression){
    case constant-expression  :
       statement(s);
       break; /* 可選的 */
    case constant-expression  :
       statement(s);
       break; /* 可選的 */
  
    /* 您可以有任意數量的 case 語句 */
    default : /* 可選的 */
       statement(s);
}

switch 語句必須遵循下麵的規則:

  • switch 語句中的 expression 是一個要被比較的表達式,可以是任何類型,包括基本數據類型(如 number、string、boolean)、對象類型(如 object、Array、Map)以及自定義類型(如 class、interface、enum)等。
  • 在一個 switch 中可以有任意數量的 case 語句。每個 case 後跟一個要比較的值和一個冒號。
  • case 的 constant-expression 必須與 switch 中的變數 expression 具有相同或相容的數據類型。
  • 當被測試的變數等於 case 中的常量時,case 後跟的語句將被執行,直到遇到 break 語句為止。
  • 當遇到 break 語句時,switch 終止,控制流將跳轉到 switch 語句後的下一行。
  • 不是每一個 case 都需要包含 break。如果 case 語句不包含 break,控制流將會 繼續 後續的 case,直到遇到 break 為止。
  • 一個 switch 語句可以有一個可選的 default case,出現在 switch 的結尾。default 關鍵字則表示當表達式的值與所有 case 值都不匹配時執行的代碼塊。default case 中的 break 語句不是必需的。

流程圖

image

實例

TypeScript

var grade:string = "A"; 
switch(grade) { 
    case "A": { 
        console.log("優"); 
        break; 
    } 
    case "B": { 
        console.log("良"); 
        break; 
    } 
    case "C": {
        console.log("及格"); 
        break;    
    } 
    case "D": { 
        console.log("不及格"); 
        break; 
    }  
    default: { 
        console.log("非法輸入"); 
        break;              
    } 
}

編譯以上代碼得到如下 JavaScript 代碼:

JavaScript

var grade = "A";
switch (grade) {
    case "A": {
        console.log("優");
        break;
    }
    case "B": {
        console.log("良");
        break;
    }
    case "C": {
        console.log("及格");
        break;
    }
    case "D": {
        console.log("不及格");
        break;
    }
    default: {
        console.log("非法輸入");
        break;
    }
}

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


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 在當今快速發展的世界中,數據被視為新的石油。隨著對數據驅動洞察的日益依賴,大數據工程師的角色比以往任何時候都更為關鍵。 這些專業人員在管理和優化組織內的數據操作中扮演著至關重要的角色。在本文中,我們將探索2024年大數據工程師必須具備的十項技能。 理解大數據工程師的角色 在深入技能之前,瞭解大數據工 ...
  • 內容介紹 hive on spark的調優,那必然涉及到這一系列框架的記憶體模型。本章就是來講一下這些框架的記憶體模型。 hive on spark的任務,從開始到結束。總共涉及了3個框架。分別是:yarn、hive、spark 其中,hive只是一個客戶端的角色。就不涉及任務運行時的記憶體。所以這裡主要 ...
  • 介紹 本示例介紹使用第三方庫的Axios獲取GBK格式的網路數據時,通過util實現GBK轉換UTF-8格式。該場景多用於需要轉換編碼格式的應用。 效果圖預覽 使用說明 直接進入頁面就可獲取GBK格式的用戶名信息併進行解碼操作。 實現思路 使用第三方庫Axios獲取網路數據,並將獲取數據類型設置為A ...
  • 介紹 圖片預覽在應用開發中是一種常見場景,在諸如QQ、微信、微博等應用中均被廣泛使用。本模塊基於Image組件實現了簡單的圖片預覽功能。 使用說明: 雙指捏合縮放圖片大小 雙擊圖片進行圖片的大小切換 圖片在放大模式下,滑動圖片查看圖片的對應位置 效果圖預覽 實現思路 image組件的objectFi ...
  • 有的時候,我們可能需要多次執行同一塊代碼。一般情況下,語句是按順序執行的:函數中的第一個語句先執行,接著是第二個語句,依此類推。 編程語言提供了更為複雜執行路徑的多種控制結構。 迴圈語句允許我們多次執行一個語句或語句組,下麵是大多數編程語言中迴圈語句的流程圖: for 迴圈 TypeScript ...
  • 一、Shape Shape組件是用於創建2D形狀和粒子效果的組件。它可以創建包括圓形、正方形、三角形和多邊形等基本形狀,同時還可以自定義形狀。Shape組件創建各種不同的效果,例如火花、煙霧、雨滴等。在使用Shape組件時,可以通過編輯頂點、路徑和大小等屬性來控制形狀的外觀和行為。 1.創建 ...
  • 介紹 本示例主要介紹在TaskPool子線程中使用 dlopen 預載入 so 庫並使用句柄調用庫函數的方法,以及在Native中使用 pread 系統函數讀取Rawfile文件的部分文本內容,並添加 HiLog 日誌。 效果圖預覽 使用說明 rawfile路徑下存在一個有內容的文本文件rawfil ...
  • 介紹 MpChart是一個包含各種類型圖表的圖表庫,主要用於業務數據彙總,例如銷售數據走勢圖,股價走勢圖等場景中使用,方便開發者快速實現圖表UI。本示例主要介紹如何使用三方庫MpChart實現柱狀圖UI效果。如堆疊數據類型顯示,Y軸是否顯示,左Y軸位置,右Y軸位置,是否顯示X軸,是否繪製背景色,是否 ...
一周排行
    -Advertisement-
    Play Games
  • GoF之工廠模式 @目錄GoF之工廠模式每博一文案1. 簡單說明“23種設計模式”1.2 介紹工廠模式的三種形態1.3 簡單工廠模式(靜態工廠模式)1.3.1 簡單工廠模式的優缺點:1.4 工廠方法模式1.4.1 工廠方法模式的優缺點:1.5 抽象工廠模式1.6 抽象工廠模式的優缺點:2. 總結:3 ...
  • 新改進提供的Taurus Rpc 功能,可以簡化微服務間的調用,同時可以不用再手動輸出模塊名稱,或調用路徑,包括負載均衡,這一切,由框架實現並提供了。新的Taurus Rpc 功能,將使得服務間的調用,更加輕鬆、簡約、高效。 ...
  • 本章將和大家分享ES的數據同步方案和ES集群相關知識。廢話不多說,下麵我們直接進入主題。 一、ES數據同步 1、數據同步問題 Elasticsearch中的酒店數據來自於mysql資料庫,因此mysql數據發生改變時,Elasticsearch也必須跟著改變,這個就是Elasticsearch與my ...
  • 引言 在我們之前的文章中介紹過使用Bogus生成模擬測試數據,今天來講解一下功能更加強大自動生成測試數據的工具的庫"AutoFixture"。 什麼是AutoFixture? AutoFixture 是一個針對 .NET 的開源庫,旨在最大程度地減少單元測試中的“安排(Arrange)”階段,以提高 ...
  • 經過前面幾個部分學習,相信學過的同學已經能夠掌握 .NET Emit 這種中間語言,並能使得它來編寫一些應用,以提高程式的性能。隨著 IL 指令篇的結束,本系列也已經接近尾聲,在這接近結束的最後,會提供幾個可供直接使用的示例,以供大伙分析或使用在項目中。 ...
  • 當從不同來源導入Excel數據時,可能存在重覆的記錄。為了確保數據的準確性,通常需要刪除這些重覆的行。手動查找並刪除可能會非常耗費時間,而通過編程腳本則可以實現在短時間內處理大量數據。本文將提供一個使用C# 快速查找並刪除Excel重覆項的免費解決方案。 以下是實現步驟: 1. 首先安裝免費.NET ...
  • C++ 異常處理 C++ 異常處理機制允許程式在運行時處理錯誤或意外情況。它提供了捕獲和處理錯誤的一種結構化方式,使程式更加健壯和可靠。 異常處理的基本概念: 異常: 程式在運行時發生的錯誤或意外情況。 拋出異常: 使用 throw 關鍵字將異常傳遞給調用堆棧。 捕獲異常: 使用 try-catch ...
  • 優秀且經驗豐富的Java開發人員的特征之一是對API的廣泛瞭解,包括JDK和第三方庫。 我花了很多時間來學習API,尤其是在閱讀了Effective Java 3rd Edition之後 ,Joshua Bloch建議在Java 3rd Edition中使用現有的API進行開發,而不是為常見的東西編 ...
  • 框架 · 使用laravel框架,原因:tp的框架路由和orm沒有laravel好用 · 使用強制路由,方便介面多時,分多版本,分文件夾等操作 介面 · 介面開發註意欄位類型,欄位是int,查詢成功失敗都要返回int(對接java等強類型語言方便) · 查詢介面用GET、其他用POST 代碼 · 所 ...
  • 正文 下午找企業的人去鎮上做貸後。 車上聽同事跟那個司機對罵,火星子都快出來了。司機跟那同事更熟一些,連我在內一共就三個人,同事那一手指桑罵槐給我都聽愣了。司機也是老社會人了,馬上聽出來了,為那個無辜的企業經辦人辯護,實際上是為自己辯護。 “這個事情你不能怪企業。”“但他們總不能讓銀行的人全權負責, ...