TypeScript中的函數注釋

一. 概覽

函數注釋主要分為顯示注釋、類型推斷、隱式的any,現在來詳細總結下

二. 顯示注釋

舉個例子

let str1: string = 'hello,jack'let intArr: number[] = [1,2,3]
let strArr:Array<string> = ['1','2','3']function test(a: number,b: number): number {return a + b
}
  1. 為什么類型是用的小寫?
    在TypeScript中,使用string或String主要取決于你的需求。兩者都可以用于基礎類型或構造函數,具體取決于你想如何使用它們;
    如果你只是聲明一個包含字符串的變量,使用string更為合適,因為這更符合類型的定義。

    然而,如果你需要使用String類的特定功能(例如,處理編碼或正則表達式),你需要使用String。
    一般來說,對于基礎類型,使用string更為常見和推薦,而對于構造函數或特定的類方法,使用String更合適

三. 類型推斷

通過賦值讓ts對變量進行類型推斷;
類型推斷是省略類型顯示定義的方式,不需要顯示定義,也能得到正確的類型

  1. 基礎類型
let a = 123//推斷成let a: number = 123
a推斷成number
  1. 數組類型
let arr = [1,'aa',true]// 推斷成
let arr: (string | number | boolean)[] = [1,'aa',true]
  1. 對象類型
let obj1 = {a: 1,b: 'f',c: true
}
// 推斷成
let obj1: {a: number;b: string;c: boolean;
} = {a: 1,b: 'f',c: true}

可選屬性

type TypeName = {id: number,
age: number,
married?:boolen
}
// 或者
type TypeInfoArr = [string ,number ,boolean?]

如果你需要一個特定屬性集合的obj定義的話,你需要顯示的給obj進行類型定義

四. 隱式any

如果沒有定義類型,且無法進行類型推斷,且非嚴格模式,那么隱式注解為any

function test(a,b) {return a + b
}

其中的a,b變量傳參就是隱式的any

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/215947.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/215947.shtml
英文地址,請注明出處:http://en.pswp.cn/news/215947.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

記錄 | xftp遠程連接兩臺windows

1、打開openssh 設置 -> 應用 -> 可選功能 -> 添加功能 -> OpenSSH 客戶端&#xff0c;將 ssh 客戶端安裝將兩臺電腦的 ssh 開啟&#xff0c;cmd 中輸入 net start sshd2、配置 win10 賬號密碼 3、進行 xftp 連接

MATLAB安裝

親自驗證有效&#xff0c;多謝這位網友的分享&#xff1a; https://blog.csdn.net/xiajinbiaolove/article/details/88907232

租一臺服務器多少錢決定服務器的價格因素有哪些

租一臺服務器多少錢決定服務器的價格因素有哪些 大家好我是艾西&#xff0c;服務器這個名詞對于不從業網絡行業的人們看說肯定還是比較陌生的。在21世紀這個時代發展迅速的年代服務器在現實生活中是不可缺少的一環&#xff0c;平時大家上網瀏覽自己想要查詢的信息等都是需要服…

加減乘除簡單嗎?不,一點都不,利用位運算實現加減乘除(代碼中不含+ - * /)

文章目錄 &#x1f680;前言&#x1f680;異或運算以及與運算&#x1f680;加法的實現&#x1f680;減法的實現&#x1f680;乘法的實現&#x1f680;除法的實現 &#x1f680;前言 這也是阿輝開的新專欄&#xff0c;知識將會很零散不成體系&#xff0c;不過絕對干貨滿滿&…

華為鴻蒙HarmonyOS應用開發者高級認證試題及答案

判斷 1只要使用端云一體化的云端資源就需要支付費用&#xff08;錯&#xff09; 2所有使用Component修飾的自定義組件都支持onPageShow&#xff0c;onBackPress和onPageHide生命周期函數。&#xff08;錯&#xff09; 3 HarmonyOS應用可以兼容OpenHarmony生態&#xff08;對…

多維時序 | MATLAB實現SAO-CNN-BiGRU-Multihead-Attention多頭注意力機制多變量時間序列預測

多維時序 | MATLAB實現SAO-CNN-BiGRU-Multihead-Attention多頭注意力機制多變量時間序列預測 目錄 多維時序 | MATLAB實現SAO-CNN-BiGRU-Multihead-Attention多頭注意力機制多變量時間序列預測預測效果基本介紹模型描述程序設計參考資料 預測效果 基本介紹 MATLAB實現SAO-CNN-B…

CommonJs模塊化實現原理ES Module模塊化原理

CommonJs模塊化實現原理 首先看一個案例 初始化項目 npm init npm i webpack -D目錄結構如下&#xff1a; webpack.config.js const path require("path"); module.exports {mode: "development",entry: "./src/index.js",output: {path: p…

硬件開發筆記(十六):RK3568底板電路mipi攝像頭接口原理圖分析、mipi攝像頭詳解

若該文為原創文章&#xff0c;轉載請注明原文出處 本文章博客地址&#xff1a;https://hpzwl.blog.csdn.net/article/details/134922307 紅胖子網絡科技博文大全&#xff1a;開發技術集合&#xff08;包含Qt實用技術、樹莓派、三維、OpenCV、OpenGL、ffmpeg、OSG、單片機、軟硬…

Redis緩存主要異常及解決方案

1 導讀 Redis 是當前最流行的 NoSQL數據庫。Redis主要用來做緩存使用,在提高數據查詢效率、保護數據庫等方面起到了關鍵性的作用,很大程度上提高系統的性能。當然在使用過程中,也會出現一些異常情景,導致Redis失去緩存作用。 2 異常類型 異常主要有 緩存雪崩 緩存穿透 緩…

【sqli靶場】第二關和第三關通關思路

目錄 前言 一、sqli靶場第二關 1.1 判斷注入類型 1.2 判斷數據表中的列數 1.3 使用union聯合查詢 1.4 使用group_concat()函數 1.5 爆出users表中的列名 1.6 爆出users表中的數據 二、sqli靶場第三關 2.1 判斷注入類型 2.2 觀察報錯 2.3 判斷數據表中的列數 2.4 使用union聯合…

Emutouch學習筆記

1 項目依賴 DeviceFarmer/minitouch 1.1 確認submodule引用的 commit ID git submodule status1.2 更新子模塊到最新版本 git submodule init && git submodule update --remote

Android:監聽開機廣播自己喚醒

要通過代碼獲取安卓系統的開機廣播消息&#xff0c;并在收到消息后拉起當前apk&#xff0c;您可以使用以下步驟&#xff1a; 創建一個廣播接收器&#xff08;Broadcast Receiver&#xff09;來接收開機廣播消息。在接收到開機廣播消息時&#xff0c;您可以在接收器中編寫代碼來…

什么是 web 組態?web 組態與傳統組態的區別是什么?

組態軟件是一種用于控制和監控各種設備的軟件&#xff0c;也是指在自動控制系統監控層一級的軟件平臺和開發環境。這類軟件實際上也是一種通過靈活的組態方式&#xff0c;為用戶提供快速構建工業自動控制系統監控功能的、通用層次的軟件工具。通常用于工業控制&#xff0c;自動…

Spring Boot整合 Spring Security

Spring Boot整合 1、RBAC 權限模型 RBAC模型&#xff08;Role-Based Access Control&#xff1a;基于角色的訪問控制&#xff09; 在RBAC模型里面&#xff0c;有3個基礎組成部分&#xff0c;分別是&#xff1a;用戶、角色和權限&#xff0c;它們之間的關系如下圖所示 SELECT…

02.類模板

2、類模板 2.1 類模板語法 建立一個通用類&#xff0c;類中的成員、數據類型可以不具體制定&#xff0c;用一個虛擬的類型來代表。 template<typename T> // 類template&#xff1a;聲明創建模板typename&#xff1a;表名其后面的符號是一種數據類型&#xff0c;可以用 …

【算法】算法題-20231211

這里寫目錄標題 一、387. 字符串中的第一個唯一字符二、1189. “氣球” 的最大數量三、1221. 分割平衡字符串 一、387. 字符串中的第一個唯一字符 簡單 給定一個字符串 s &#xff0c;找到 它的第一個不重復的字符&#xff0c;并返回它的索引 。如果不存在&#xff0c;則返回…

算法通關村第十五關 | 青銅 | 用4KB內存尋找重復元素

處理海量數據的思路 1.使用位存儲&#xff1a;占用的空間是存整數的 1/8 。 2.分塊&#xff1a;也叫外部排序&#xff0c;將大文件劃分為若干小塊&#xff0c;先處理小塊再逐步得到想要的結果&#xff0c;需要至少遍歷兩次全部序列&#xff0c;是用時間換空間的方法。 3.堆&…

Mockjs 增、刪、改、查(分頁、多條件查詢)

查&#xff08;分頁、多條件查詢&#xff09;&#xff1a; 關鍵代碼&#xff1a; Mock.mock(/vue-table-list/tableLinkage/list, post, (option) > {// console.log("&#x1f680; ~ file: tableLinkage.js:66 ~ Mock.mock ~ option:", option)const params J…

MFC畫折線圖,基于x64系統

由于項目的需要&#xff0c;需要畫一個折線圖。 傳統的Teechart、MSChart、HighSpeedChart一般是只能配置在x86系統下&#xff0c;等到使用x64系統下運行就是會報出不知名的錯誤&#xff0c;這個地方讓人很苦惱。 我在進行配置的過程之中&#xff0c;使用Teechart將x86配置好…

基于Java SSM框架實現班級同學錄、聚會報名網站系統項目【項目源碼+論文說明】

基于java的SSM框架實現班級同學錄聚會報名網站系統演示 摘要 21世紀的今天&#xff0c;隨著社會的不斷發展與進步&#xff0c;人們對于信息科學化的認識&#xff0c;已由低層次向高層次發展&#xff0c;由原來的感性認識向理性認識提高&#xff0c;管理工作的重要性已逐漸被人…