1.布爾值
let isDone:boolean = false
2.數字(支持二,八,十,十六進制)
let width:number = 20
3.字符串
let name:string = "Bob"; 模板字符串: let sentence:string = `hello,my name is ${name}`;
4.數組
let list:number[] = [1,2,3,4];
let list:Array<number> = [1,2,3,4]
5.元祖 Tuple:已知元素數量和類型的數組,各類型可不相同
let x:[string,number];
x = ["Bob",18]
6.枚舉Enum
enum Color {Red,Blue,Green}; //默認從0開始 enum Color {Red=1,Blue,Green}; //指定開始位置 enum Color {Red=1,Blue=3,Green=5}; //都指定位置 let c:Color = Color.Blue; //返回對應的index let colorName:string = Color[1] //返回對應的枚舉項
7.Any(不清楚變量的類型但又想為其指定類型)
let notSure: any = 4; 只知道部分類型時: let list: any[] = [1, true, "free"];
8.Void(函數的返回類型,即沒有任何類型)
function warnUser(): void { alert("This is my warning message"); }
9.Null和Undefined
默認情況下null和undefined是所有類型的子類型。 就是說你可以把 null和undefined賦值給任何類型的變量。
10.Never(never類型表示的是那些永不存在的值的類型)
如:never
類型是那些總是會拋出異常或根本就不會有返回值的函數表達式或箭頭函數表達式的返回值類型; 變量也可能是 never
類型,當它們被永不為真的類型保護所約束時。
never
類型是任何類型的子類型,也可以賦值給任何類型;然而,沒有類型是never
的子類型或可以賦值給never
類型(除了never
本身之外)。 即使 any
也不可以賦值給never
。
11.類型斷言
let someValue: any = "this is a string"; 1) let strLength: number = (<string>someValue).length; 2) let strLength: number = (someValue as string).length;