TypeScript學習(逐漸更新)-枚舉、元祖、泛型、高級類型

無知而弱小的我:
       之前的公司一直使用的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 - 泛型

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章