一、布爾值express
二、數字數組
三、字符串 -雙引號或者單引號 ,支持模板字符串`` ,能夠定義多行和內嵌表達式,而且以${expression} 這種形式嵌入表達式函數
四、數組this
let list: number[] = [1, 2, 3]
let list: Array<number> = [1, 2, 3]spa
五、元組3d
當訪問一個越界的元素時 ,會使用聯合類型來代替
let x : [string, number]
x=["hello" , 5]
x[3] = "string " //ok
x[4] = 6 //ok
x[5] = true //wrong , boolean is not belong to string | number
blog
六、枚舉
enum Color {Red, Green, Blue}
let c : Color = Color.greenip
七、Any字符串
八、Voidstring
聲明一個void類型的變量沒有什麼大用,由於你只能爲它賦予undefined 和null
九、Null和Undefined
Null和undefined是全部類型的子類型,也就是說能夠把null | undefined賦值給其餘類型number的變量
若是你指定了--strictNullChecks標記,null和undefined只能賦值給void和它們自已。這能避免不少問題,若是想傳入一個string或者null,你可使用聯合類型null | undefined | string
十、Never
表示的是那些永不存在的值的類型, 例如: never類型是那些老是會拋出異常或根本就不會有返回值的函數表達式或箭頭函數表達式的返回值類型
never類型能夠是任意類型的子類型,也能夠賦值給任何類型
但沒有類型是never的子類型,any也不行,,,只有never類型能夠賦值給never
十一、Object
類型斷言
let someValue: any = "this is a string"
let strLenght: number = (<string>someValue).length
let strLenght: number = (string as someValue).length
當typeScript不肯定一個聯合類型的變量到底屬於哪一個類型的時候,咱們只能訪問此聯合類型的全部類型裏共用的屬性或方法
而有時候,咱們確實須要在還不肯定類型的時候就訪問其中一個類型的屬性或方法,好比:
上例中獲取someValue.length就會報錯
此時能夠用類型斷言,將something斷言成string
注意:類型斷言不是類型轉換,斷言成一個聯合類型中不存在的類型是不容許的