無知而弱小的我:
之前的公司一直使用的vue + js,後續有一個小小的項目啓動,當時想學習ts,又因爲項目我一個人全權負責,就啃了文檔最終用ts完成了,高興的不行,自以爲會的ts應該夠用了…然後我換工作了,新公司的大佬們讓我知道,我的ts只會個邊邊,有些知識還有點蒙圈。
所以無知又弱小的我,準備開一個ts學習筆記,把我在每天讀代碼寫代碼的過程中,不清楚的模糊的知識點記錄下來~
一、基礎類型
1、enum 枚舉類型
- 爲什麼用枚舉類型?
看下面的代碼,數據庫中 status 值爲0或1表示是否是開啓狀態,不同的狀態做不同的操作,會引發如下問題:- 代碼可讀性差,因爲很難記住每個變量的值對應的狀態;
- 代碼不好維護,如果status的值變爲3或4了,要全局修改代碼了;
- 枚舉類型
enum類型是對JavaScript標準數據類型的一個補充,使用枚舉類型可以爲一組數值賦予友好的名字
,所以上述的代碼可以這樣寫。
enum Status {
open = 1,
close = 0
}
@Component
export default class List extends tsx.Component<{}> {
status: Status = Status.close
handleCallback() {
if (this.status === Status.open) {
// do sth
} else if (this.status === Status.close) {
// do sth
} else {
// do sth
}
}
}
2、元組 Tuple
- Tuple我理解成一個更加嚴格的數組,因爲他規定了數組內每個索引出元素的類型。
let x: [string, number, boolean]
let y: Array<string | number | boolean>
x = ['world', 1, true]
x = [1, 'world', false] // 錯誤
y = [1, 'world', false]
x[3] = 'hello' // 錯誤提示:不能將類型“"hello"”分配給類型“undefined”。
y[3] = true
3、泛型
之前一直不太懂泛型,官網泛型部分看了好幾遍,七七八八的文章也看了不少,還是覺得很抽象,很難懂,是我太菜了??
2020.6.22的今天終於懂了,哇哈哈哈哈哈~總結的筆記太多了,準備專門寫一個泛型的,寫好會把鏈接放上去噠!
Typescript - 泛型