## 基本類型
### 有哪些類型
最為常見的類型: - 布爾值: boolean - 字符串: string - 數(shù)值: number - 數(shù)組: string[] - 對象: object - null / undefined: 和 JS 中一樣
稍微進(jìn)階一些的類型: - Map: 哈希表,類似于 Java 的 HashMap - Set: 集合,類似于 Java 的 HashSet - enum: 枚舉廉沮,編程中常用的概念
特殊類型 - any: 任何值枯夜,不推薦使用 - void: 沒有返回值 - never: 不存在的類型,除了 never 之外,沒有任何類型可以復(fù)制給 never
### 類型怎么使用
聲明: - interface: 接口聲明 - type: 類型聲明
類型斷言: - 聲明變量時,使用冒號指定變量類型 - 使用 as,讓變量“作為”某種類型
類型屬性: - 可選: 字段名稱后面加上問號 - 只讀: 字段名稱前面加上 readonly - 類型作為字段:[key: string]: number;
面向?qū)ο? - 實現(xiàn): class XXX implements InterfaceXXX - 繼承: - 類繼承: class A extends B - 接口繼承接口: interface A extends B - 接口繼承類: interface A extends classB - 泛型: `<T>`
高級類型: - 交叉: 與的符號 &遥昧,包含所有字段 - 聯(lián)合類型:或的符號,兩個類型都可以
一個稍微復(fù)雜的例子:
```tsx
function pluck<T, K extends keyof T>(o: T, names: K[]): T[K][] {
return names.map(n => o[n]);
}
interface Person {
name: string;
age: number;
}
let person: Person = {
name: 'Jarid',
age: 35
};
let strings: string[] = pluck(person, ['name']); // ok, string[]
```
其中 `<>` 有兩個泛型: T, K T 好說,就是一個泛型而已炭臭。K 有一個 extends永脓,extends 的對象是 T 的字段。也就是說 K 是 T 的其中一個字段鞋仍。 pluck 的含義是常摧,把 o 按照 names 這個字段數(shù)組的順序,值取出來凿试,并且也放在一個數(shù)組中返回:
Typescript 常用類型
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
- 文/潘曉璐 我一進(jìn)店門在跳,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人隐岛,你說我怎么就攤上這事猫妙。” “怎么了聚凹?”我有些...
- 文/不壞的土叔 我叫張陵割坠,是天一觀的道長。 經(jīng)常有香客問我妒牙,道長彼哼,這世上最難降的妖魔是什么? 我笑而不...
- 正文 為了忘掉前任湘今,我火速辦了婚禮敢朱,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘摩瞎。我一直安慰自己拴签,他們只是感情好,可當(dāng)我...
- 文/花漫 我一把揭開白布旗们。 她就那樣靜靜地躺著篓吁,像睡著了一般。 火紅的嫁衣襯著肌膚如雪蚪拦。 梳的紋絲不亂的頭發(fā)上,一...
- 文/蒼蘭香墨 我猛地睜開眼锹锰,長吁一口氣:“原來是場噩夢啊……” “哼芥炭!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起恃慧,我...
- 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
- 正文 年R本政府宣布,位于F島的核電站歧强,受9級特大地震影響澜薄,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜摊册,卻給世界環(huán)境...
- 文/蒙蒙 一肤京、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧茅特,春花似錦忘分、人聲如沸。這莊子的主人今日做“春日...
- 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至兵睛,卻和暖如春肯骇,著一層夾襖步出監(jiān)牢的瞬間窥浪,已是汗流浹背。 一陣腳步聲響...
推薦閱讀更多精彩內(nèi)容
- 多態(tài)的 this類型 多態(tài)的 this類型表示的是某個包含類或接口的 子類型坦冠。 這被稱做 F-bounded多態(tài)性...
- 相信現(xiàn)在很多小伙伴都在使用 TypeScript(以下簡稱 TS)辙浑,在 TS 中除了一些常用的基本類型外,還有一些...
- 轉(zhuǎn)發(fā) # TypeScript基礎(chǔ)入門之高級類型的索引類型(Index types) 高級類型 索引類型(Inde...
- 為什么 TypeScript Vue2.x 對 TypeScript 的支持是硬傷泰讽,而 TypeScript 對于...