目錄
簡介
TypeScript的型別
基本型別
其他型別
高級型別
各型別介紹
Number數字型別
String字串型別
boolean布爾型別
Array陣列型別
tuple元組型別
聯合Union型別
字面量型別
列舉Enum型別
Any型別
unknown型別
void型別
never型別?
型別適配Type Assertions
函式型別
總結
簡介
TypeScript的定義以及優勢,想必大家在前幾篇文章中都已經學習到了;接下來,我們開始學習一下TypeScript中的Type也就是資料型別,每一個技術都有它自己對應的宣告方式以及型別的定義,
讓我們一起學習以下知識吧!!!!
TypeScript的型別
TypeScript與普通的Javascript最大的區別就是對型別的強定義,它給JavaScript帶來了多種基本型別,同時程式員也可以定義型別,
基本型別

其他型別

高級型別
- union組合型別
- Nullable可空型別
- Literal預定義型別
各型別介紹
Number數字型別
對數字的定義只有一個很籠統的number來表示;既能表示整數、也能表示浮點數,甚至也可以表示正負數,
例如:1,5.3,-10
![]()
從本質上來說,Javascript并沒有嚴格區別各種型別之間差異,于是基于JS創建出來了TS,所以在TS中使用number數字型別進行表示,還可以極大限度的保留JS的靈活性,
String字串型別
舉例:“hello”,‘hello’,`hello`
第三個是反引號:``,可以創建一個字串模板,可以實作分段跟行,和填充變數,
與JavaScript一致,
boolean布爾型別
真 true、假 false

Array陣列型別
陣列:[]
陣列中可以存放任意型別的資料
JS中陣列的寬容度非常大,而TS也很好的繼承了這一點
![]()
![]()
![]()
tuple元組型別
Tiu破,踏破
![]()
聯合Union型別
一個變數同時支持多個型別,中間使用 | 分隔,

字面量型別
可以理解為是聯合Union型別的樣子,只不過是換成了具體的值,而不是string|number這樣的型別了,

可以看到,union3 = 4報錯了,這也就證明,此刻union3只能包含0,1,2三個數值,
列舉Enum型別


可以看出,如果沒有指定默認值,則會使用下標索引,
Any型別
any顧名思義,就是不知道是什么,任何的,任意的,所以使用any型別,就是可以是任意型別,

unknown型別
unknown不知道的意思,也就是說,不知道該變數是什么型別,但是能確保它是個未定義的屬性,而不是函式,

如果不進行判斷型別,則會報錯,
void型別
void就是沒有回傳值,表示該東西壓根不存在,

可以看出,該函式就是void型別,不需要回傳值,
undefined型別
undefined型別表示,變數沒有初始化,

這樣會報錯,原因是沒指定回傳值,

void和undefined的區別:與undefined的區別不是一個語法問題,而是一個哲學問題,是區別存在于不存再的 問題,void表示本身壓根不存在,undefined表示本身未初始化,但是存在,
never型別

可以看出,該函式進入之后就直接拋出例外,可想而知,這個函式永遠也不會執行到最后一個大口號,所以這樣的就稱為never型別,
型別適配Type Assertions
通知TypeScript進行型別適配的程序就稱為斷言,
舉例:

滑鼠懸浮到message上,可以看到依然是any型別,所以就算我們給賦值為字串,也不會改變初始型別,所以message不能使用專門針對字串的endWith()內嵌函式的.

在這種情況下,本意是想要稱為字串型別的,所以我們要明確給TypeScript該message是什么型別,所以這就用到了斷言,也可以稱為型別適配,
所以有兩種使用斷言的方式:

![]()
注意:如果使用斷言,則需要有信心保證不會出問題,不然很容易出型別相關的例外,,,
函式型別
函式相信不用過多的跟大家說了吧,會JavaScript的朋友們,應該都很熟悉了,無處不在寫函式,

或者es6的方式定義:

TypeScript的方式,唯一區別就是再引數上可以明確指定型別,

再呼叫TypeScript的函式時如果有兩個引數,則必須全部傳入,而且型別必須一致,不然會報錯,

![]()
錯誤的呼叫寫法:

總結
TypeScript的基礎型別語法,就講到這里,在這里沒有很詳細的說,但是都是精髓,啊哈哈哈,肯定可以學會,再加上如果有的朋友學過python、JavaScript、Java這些語言的話,很快就可以上手,不管學什么,學多少,都要動手練習, 多動,多做,少說閑話,孰能生巧,加油吧,小伙伴們!!!
作者:筱白愛學習!!
轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/293189.html
標籤:其他
