typescript中爲了使編寫的代碼更規範,更有利於維護,增加了類型校驗,在typescript中主要給我們提供了以下數據類型
布爾類型(boolean)
數字類型(number)
字符串類型(string)
數組類型(array)
元組類型(tuple)
枚舉類型(enum)
任意類型(any)
null 和 undefined
void類型
never類
1 布爾類型(boolean)
//es5 中的寫法
var boo=true;
boo="fff";
報錯了 表示 fff不是boolean 類型
記住重點:寫Ts代碼指定類型
var flag:boolean=true;
// flag=123; //錯誤
flag=false; //正確
console.log(flag);
2 依次類推 數字類型(number)
/*
var num:number=123;
num=456;
console.log(num); /正確/
num='str'; //錯誤
*/
3 字符串類型
// 字符串類型(string)
var str:string='this is ts';
str='haha'; //正確
str=true; //錯誤
4 數組類型 兩種方式
var arr:number[]=[1,2];
var arr1:Array<number> = [1,2];
5 元組類型(tuple) 屬於數組的一種
// 元組類型(tuple) 屬於數組的一種
var arr:Array<number>=[11,22,33];
console.log(arr)
//元祖類型
let arr:[number,string]=[123,'this is ts'];
console.log(arr);
6 枚舉類型(enum)
隨着計算機的不斷普及,程序不僅只用於數值計算,還更廣泛地用於處理非數值的數據。
例如:性別、月份、星期幾、顏色、單位名、學歷、職業等,都不是數值數據。
在其它程序設計語言中,一般用一個數值來代表某一狀態,這種處理方法不直觀,易讀性差。
如果能在程序中用自然語言中有相應含義的單詞來代表某一狀態,則程序就很容易閱讀和理解。
也就是說,事先考慮到某一變量可能取的值,儘量用自然語言中含義清楚的單詞來表示它的每一個值,
這種方法稱爲枚舉方法,用這種方法定義的類型稱枚舉類型。
enum 枚舉名{
標識符[=整型常數],
標識符[=整型常數],
...
標識符[=整型常數],
} ;
enum test {success=0,error=2};
let s:test=test.success;//2
let e:test=test.error;//0
7 任意類型(any)
var an:any="fff"
an=11; //不會報錯
8 void類型 :typescript中的void表示沒有任何類型,一般用於定義方法的時候方法沒有返回值。
9 Never
never類型表示的是那些永不存在的值的類型。 例如, never類型是那些總是會拋出異常或根本就不會有返回值的函數表達式或箭頭函數表達式的返回值類型; 變量也可能是 never類型,當它們被永不爲真的類型保護所約束時。
never類型是任何類型的子類型,也可以賦值給任何類型;然而,沒有類型是never的子類型或可以賦值給never類型(除了never本身之外)。 即使 any也不可以賦值給never