三辆它、ts常用類型

1誊薄、類型注解

作用:為變量添加類型約束

解釋:只能賦值該類型

2、常用基礎類型

2.1锰茉、js已有類型:

(1)原始類型:number呢蔫、string、boolean飒筑、null片吊、undefined、symbol

特點:簡單协屡,按js中類型名

原始類型

(2)對象類型:Object

特點:細化俏脊,都有自己的類型語法

2.2、新增類型:

聯(lián)合類型肤晓、自定義類型(類型別名)爷贫、接口、元祖补憾、字面量類型漫萄、枚舉、void盈匾、any等

3腾务、對象類型細化:

3.1、數(shù)組類型:

number[](推薦)削饵、Array<string>

聯(lián)合類型:|

(number|string|boolean)[]

數(shù)組類型

3.2岩瘦、類型別名

自定義類型,為任意類型起別名

使用場景:同一復雜類型被多次使用葵孤,通過類型別名簡化類型

解釋:

(1)使用type關鍵字創(chuàng)建

(2)可是任意合法的變量名稱

(3)直接使用該類型別名進行注解

類型別名

3.3担钮、函數(shù)類型

函數(shù)參數(shù)返回值的類型。

(1)單獨指定參數(shù)尤仍、返回值的類型箫津;

單獨指定參數(shù)、返回值類型

(2)同時指定參數(shù)宰啦、返回值的類型

同時指定參數(shù)苏遥、返回值類型

????????ps:只適用于函數(shù)表達式

(3)函數(shù)返回值類型:void(函數(shù)沒有返回值)

void

(4)可選參數(shù):?(可選參數(shù)后面不能出現(xiàn)必選參數(shù))

可選參數(shù):?

3.4、對象類型

描述對象的結構

對象類型寫法

ps:;(分號)分隔(分號相當于換行鴨~)赡模,如果一行代碼只指定一個屬性類型(換行指定另一個)田炭,可以去掉分號

對象的屬性可有可無,使用可選屬性?{a:number;b?:string}

3.5漓柑、接口

對象類型多次使用教硫,使用接口(interface)描述對象叨吮,進行復用

(1)interface關鍵字聲明接口

(2)接口名稱,任意合法變量名

(3)直接使用接口名稱作為變量類型

接口

對比:interface(接口)與type(類型別名)

相同:都可以給對象指定類型

不同:interface只能為對象指定類型瞬矩,type可以為任意類型指定別名(聲明用=)

繼承:如果兩個接口有相同的屬性方法時使用集成來實現(xiàn)復用

繼承

3.6茶鉴、元組

如坐標數(shù)組,使用numbe[]不嚴謹景用,使用元組[number,number]

確切知道包含了多少元素涵叮,以及元素類型

3.7、類型推論

ts中在某些沒有明確指出類型的地方伞插,ts的類型推論機制會幫助提供類型(類型注解可以省略不寫)

常見場景:1.聲明變量并初始化時割粮,2.決定函數(shù)返回值時

如果聲明變量沒有立即初始化,則必須添加類型注解

3.8媚污、類型斷言

指定更具體的類型

~as關鍵字 ~關鍵字as后面是一個更加具體的類型

as

使用<>語法舀瓢,這種語法形式不常用:(與react語法沖突)

不常用

(console.dir)

3.9、字面量類型

字面量

變量(let)可以是任意字符串杠步,所以類型為string

常量(cosnt)值不能變化氢伟,所以類型為KKKK

KKKK就是一個字面量類型

任意的js字面量(例如對象、數(shù)字)都可以作為字面量類型( let a:18 = 18 )

使用場景:表示一組明確的可選值列表幽歼。如:

字面量類型配合聯(lián)合類型

3.10朵锣、枚舉

類似字面量類型+聯(lián)合類型組合的功能,也可表示一組明確的可選值

定義一組命名常量

~使用enum關鍵字定義枚舉甸私。~約定枚舉名稱诚些、枚舉中的值用大寫字母開頭。~,逗號分隔皇型。~直接使用诬烹。

枚舉

~枚舉成員是有值的,默認:從0開始自增的數(shù)值

枚舉成員為數(shù)字的枚舉稱為:數(shù)字枚舉(存在自增長行為)

給枚舉成員初始化值


初始化值

枚舉成員都是字符串的稱為:字符串枚舉

字符串枚舉中每個成員都必須要有初始值(不存在自增長行為)

設置枚舉

枚舉不僅作為類型弃鸦,還提供值(枚舉成員都是有值的)绞吁。其他類型會在編譯成js是自動移除,但是枚舉會被編譯成js代碼

一般情況下推薦使用字面量類型+聯(lián)合類型組合的方式唬格,相比于枚舉更加直觀家破、簡潔、高效购岗。

3.11汰聋、any類型

不推薦使用,當值為any類型時喊积,可以對改值進行任意操作烹困,并且不會有代碼提示

其他隱式具有any類型情況:1 聲明變量不提供類型也不提供默認值? 2 函數(shù)參數(shù)不加類型

4、typeof

可以在類型上下文中引用變量或屬性的類型(類型查詢)乾吻。

使用場景:根據已有變量的值髓梅,獲取該值的類型拟蜻,來簡化類型書寫

typeof

typeof出現(xiàn)在類型注解的位置,所處環(huán)境就在類型上下文

只能查詢變量或屬性的類型女淑,無法查詢其他形式的類型(如:函數(shù)調用)

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末瞭郑,一起剝皮案震驚了整個濱河市辜御,隨后出現(xiàn)的幾起案子鸭你,更是在濱河造成了極大的恐慌,老刑警劉巖擒权,帶你破解...
    沈念sama閱讀 211,290評論 6 491
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件袱巨,死亡現(xiàn)場離奇詭異,居然都是意外死亡碳抄,警方通過查閱死者的電腦和手機愉老,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,107評論 2 385
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來剖效,“玉大人嫉入,你說我怎么就攤上這事¤凳” “怎么了咒林?”我有些...
    開封第一講書人閱讀 156,872評論 0 347
  • 文/不壞的土叔 我叫張陵,是天一觀的道長爷光。 經常有香客問我垫竞,道長,這世上最難降的妖魔是什么蛀序? 我笑而不...
    開封第一講書人閱讀 56,415評論 1 283
  • 正文 為了忘掉前任欢瞪,我火速辦了婚禮,結果婚禮上徐裸,老公的妹妹穿的比我還像新娘遣鼓。我一直安慰自己,他們只是感情好重贺,可當我...
    茶點故事閱讀 65,453評論 6 385
  • 文/花漫 我一把揭開白布骑祟。 她就那樣靜靜地躺著,像睡著了一般檬姥。 火紅的嫁衣襯著肌膚如雪曾我。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,784評論 1 290
  • 那天健民,我揣著相機與錄音抒巢,去河邊找鬼。 笑死秉犹,一個胖子當著我的面吹牛蛉谜,可吹牛的內容都是我干的稚晚。 我是一名探鬼主播,決...
    沈念sama閱讀 38,927評論 3 406
  • 文/蒼蘭香墨 我猛地睜開眼型诚,長吁一口氣:“原來是場噩夢啊……” “哼客燕!你這毒婦竟也來了?” 一聲冷哼從身側響起狰贯,我...
    開封第一講書人閱讀 37,691評論 0 266
  • 序言:老撾萬榮一對情侶失蹤也搓,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后涵紊,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體傍妒,經...
    沈念sama閱讀 44,137評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 36,472評論 2 326
  • 正文 我和宋清朗相戀三年摸柄,在試婚紗的時候發(fā)現(xiàn)自己被綠了颤练。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 38,622評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡驱负,死狀恐怖嗦玖,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情跃脊,我是刑警寧澤宇挫,帶...
    沈念sama閱讀 34,289評論 4 329
  • 正文 年R本政府宣布,位于F島的核電站匾乓,受9級特大地震影響捞稿,放射性物質發(fā)生泄漏。R本人自食惡果不足惜拼缝,卻給世界環(huán)境...
    茶點故事閱讀 39,887評論 3 312
  • 文/蒙蒙 一娱局、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧咧七,春花似錦衰齐、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,741評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至瘟檩,卻和暖如春抹缕,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背墨辛。 一陣腳步聲響...
    開封第一講書人閱讀 31,977評論 1 265
  • 我被黑心中介騙來泰國打工卓研, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 46,316評論 2 360
  • 正文 我出身青樓奏赘,卻偏偏與公主長得像寥闪,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子磨淌,可洞房花燭夜當晚...
    茶點故事閱讀 43,490評論 2 348

推薦閱讀更多精彩內容