TypeScript 學習系列 | Array, Tuple 和 interface 使用
¶Array
可以將陣列的元素強制定義為某一個特定的類型,只要在類型的後面加上陣列的括號 [] 即可。
1 | // 陣列裡面全部要是數字 |
¶Tuple
Tuple的中文可以翻成「元組」,學過 Python 的人對這個資料結構應該比較熟悉。
應用狀況:陣列裡包含除了某特定元素外的類型
1 | let users: [string, number] = ['emma', 20] |
¶Object
¶TypeScript 的 Interface:
- 針對使用對象的型態(shape)進行約束,例如屬性或是方法。
- 對類(class)進行抽象。
- Duck typing:動態類型語言會推測資料的型別,比起關注資料類型,更加在意資料如何被使用。
1 | // 建議 class 的字首大寫表示為 interface |
1 | // 不能減少或是增加屬性,否則會報錯 |
¶可選屬性
如果 interface 只能依照上面方法使用會沒有彈性。因此可選屬性能夠幫忙解決這個問題,有或沒有都不影響。
使用方法:在變數名稱後面加上問號
1 | interface Person { |
¶唯讀屬性
複製 class 的時候才使用,只能用在屬性上,且不能被更改賦予的值。
使用方法:在變數名稱前加上 readonly
1 | interface Person { |
強制更改值的話會報錯
TypeScript 學習系列 | Array, Tuple 和 interface 使用
https://elftvxq.github.io/2020/04/19/TypeScript-學習系列-Array-Tuple-和-interface-使用/
You need to set
install_url
to use ShareThis. Please set it in _config.yml
.