iT邦幫忙

2021 iThome 鐵人賽

DAY 6
0
Modern Web

前端是該來學一下 TypeScript 了 系列 第 6

Day06:【TypeScript 學起來】資料型別那些事 : 總覽

  • 分享至 

  • xImage
  •  

Q: 為什麼工程師都喜歡用 dark mode?
A: 因為太亮會吸引很多 bug。
原來如此XDD


上一篇我們了解了指定型別的三種方法,那有哪些型別可以使用呢, 今天來整理 TypeScript 有可能會使用到的資料型別。

資料型別小小分類

我大致把他分為3大類:

  1. 原始資料型別(Primitive types) : string (字串)、number (數值)、boolean (布林值)、null、undefined

  2. 物件型別(Object types): object(物件) 、 arrays(陣列) 、function(函式)

  3. TypeScript 才有的型別 : any、unknown、void、 never、 union types(聯合型別) 、intersection types(交集型別)、 literal types(字面值型別)、 tuple(元組)、 enums(列舉)


TypeScript 資料型別整理表

花了不少時間參考網站,大致整理了所有類型的簡單使用方法,但還沒實際套用在專案過,就先邊筆記邊學習(有誤歡迎告知~),接下來幾篇也會再詳細介紹各個型別。

Type 型別分類 筆記 Example
string primitive 定義字串型別。
number primitive 定義數值型別。
boolean primitive 定義布林值型別。
null primitive 定義空值型別, 亦可賦值給所有型別(嚴謹模式則無法)。
undefined primitive 定義 undefined 型別,亦可賦值給所有型別(嚴謹模式則無法)。
object object 定義物件型別。
arrays object 可使用「型別 + 方括號」或陣列泛型來表示陣列。
function object 一個函式有輸入和輸出,可以針對參數(輸入)及返回值(輸出)進行型別規範。
any TS 表示允許賦值為任意型別。
unknown TS unknown 和 any 一樣可以接受任何型別賦值,但 any 可以賦值給任何型別,unknown 只能賦值給 any 和自己。
void TS 表示沒有任何返回值的函式。
never TS 來表示不應該存在的狀態的型別,一般用於錯誤處理函式。
union types TS 聯合型別(union type) 使用|表示其定義的值可以為多種型別。
intersection types TS 交集型別(intersection type) 使用 & 表示其定義的值都必須符合多種型別。
literal types TS 某些特殊的"值"可以當作"型別"來使用。
tuple TS tuple 就是合併了不同型別的物件。
enum TS 列舉(enum)型別可以用來管理多個同系列的常數,作為狀態判斷使用。

我們接下來就來展開 TypeScript 資料型別探險了,來一起戴好口罩?,系好安全帶,準備出發~GO!
例子參考這裡


參考資料

https://www.typescriptlang.org/docs/handbook/2/basic-types.html
https://willh.gitbook.io/typescript-tutorial/basics/primitive-data-types
https://ithelp.ithome.com.tw/articles/10223315
https://ithelp.ithome.com.tw/articles/10217384


上一篇
Day05:【TypeScript 學起來】TS 指定型別的三種方法
下一篇
Day07:【TypeScript 學起來】原始資料型別 Primitive Types
系列文
前端是該來學一下 TypeScript 了 30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言