ts 數據類型:
布爾值:
let isDone:boolean=false;
數字:
let decLiteral:number=6;
字符串:
let name:string="bob"
數組:
let list:number[]=[1,2,3]
元組:Tuple
允許表示一個已知元素數量和類型的數組,各元素的類型不必相同。 比如,你可以定義一對值分別爲 string和number類型的元組。
let x:[string,number];
// Initialize it
x = ['hello', 10]; // OK
// Initialize it incorrectly
x = [10, 'hello']; // Error
枚舉:
enum 枚舉類型,爲一組數值賦值名字;
enum Color={red,green,blue}
let c:Color=Color.red;
Any
編程階段還不清楚類型的變量指定一個類型
let notSure: any = 4;
notSure = "maybe a string instead";
notSure = false; // okay, definitely a boolean
Void
表示沒有返回值
function warnUser(): void {
console.log("This is my warning message");
}
Never
never類型表示的是那些永不存在的值的類型。
例如, never類型是那些總是會拋出異常或根本就不會有返回值的函數表達式或箭頭函數表達式的返回值類型;
變量也可能是 never類型,當它們被永不爲真的類型保護所約束時。
Object:
object表示非原始類型,也就是除number,string,boolean,symbol,null或undefined之外的類型。
declare function create(o: object | null): void;
create({ prop: 0 }); // OK
create(null); // OK
create(42); // Error
create("string"); // Error
create(false); // Error
create(undefined); // Error
類型斷言:
類型斷言好比其它語言裏的類型轉換,但是不進行特殊的數據檢查和解構。 它沒有運行時的影響,只是在編譯階段起作用。
類型斷言有兩種形式。 其一是“尖括號”語法:
let someValue: any = "this is a string";
let strLength: number = (<string>someValue).length;
另一個爲as語法:
let someValue: any = "this is a string";
let strLength: number = (someValue as string).length;