TypeScript
最大的一個特點就是變量是強類型的,也就是說,在聲明變量的時候,我們必須給他一個類型。
TypeScript中的數據類型有:
- Undefined :
- Number:數值類型;
- string : 字符串類型;
- Boolean: 布爾類型;
- enum:枚舉類型;
- any : 任意類型,一個牛X的類型;
- void:空類型;
- Array : 數組類型;
- Tuple : 元祖類型;
- Null :空類型。
Undefined類型
在js中當你定義了一個變量,但沒有給他賦予任何值的時候,他就是Undefined類型。這可能和你以前學的語言稍有不同,其他語言會有個類型的默認值。
//聲明數值類型的變量age,但不予賦值 var age:number console.log(age) // undefined
Number類型
在TypeScript中,所有的數字都是Number類型,這不分是整數還是小數。
var age:number = 18 var stature:number = 178.5 console.log(age) // 18 console.log(stature) // 178.5
string類型
由單引號或者雙引號括起來的一串字符就是字符串。
var cnblogs:string = "cnblogs.com/DoubleLoong" console.log(cnblogs) // cnblogs.com/DoubleLoong
boolean布爾類型
作任何業務邏輯判斷都要有布爾類型的參與,通過對與錯的判斷是最直觀的邏輯處理。boolean類型只有兩種值,true和false。
var b:boolean = true var c:boolean = false console.log(b) // true console.log(c) // false
enum 類型
這個世界有很多值是多個並且是固定的
,比如:
- 世界上人的類型:男人、女人、中性
- 一年的季節:春、夏、秋、冬 ,有四個結果。
// enum enum REN{ nan , nv ,zhongxing} console.log(REN.zhongxing) //返回了2,這是索引index,跟數組很像。 enum REN{nan='男人',nv='女人',zhongxing='人妖'} console.log(REN.zhongxing) // 人妖
any類型
一個寫慣了前端的人,有時候不自覺的就分不清類型了。這是個不好的習慣,也是前端的痛,就因為這個原因,JavaScript也多次被人詬病說大型項目不適合用JavaScript。但是習慣一旦養成,改是需要時間和磨練的。TypeScript友好的為我們提供了一種特殊的類型any
,比如我們在程序中不斷變化着類型,又不想讓程序報錯,這時候就可以使用any了。
var t:any =10 t = "白夜" console.log(t) // 白夜 t = true console.log(t) // true
Null類型
與 Undefined 類似,都代表空。Null 代表是引用類型為空。意義不大,但是有用。
在TypeScrip中有幾種特殊的Number類型 我們需要額外注意一下:
- NaN:它是Not a Number 的簡寫,意思就是不是一個數值。如果一個計算結果或者函數的返回值本應該是數值,但是由於種種原因,他不是數字。出現這種狀況不會報錯,而是把它的結果看成了NaN。
- Infinity :正無窮大。
- -Infinity:負無窮大。
原文地址:http://jspang.com/post/typescript.html?tdsourcetag=s_pcqq_aiomsg