TypeScript 是 JavaScript 的超集,TypeScript 經(jīng)過(guò)編譯之后都會(huì)生成 JavaScript 代碼。TypeScript 最大的特點(diǎn)就是類型化,因此才叫做 TypeScript。比起弱類型的 JavaScript,類型化的 TypeScript 顯得更加容易維護(hù)。
在 TypeScript 中一共有 7 種基本類型。
1、boolean
代碼如下:
var isDone: boolean = false;
2、number
代表 JavaScript 中的數(shù)字。在 JavaScript 中,無(wú)論是“整數(shù)”還是“浮點(diǎn)數(shù)”,都是以雙精度浮點(diǎn)類型存儲(chǔ)的。
代碼如下:
var height: number = 6;
3、string
代表字符串。跟 JavaScript 一樣,可以使用一對(duì)雙引號(hào)(")或一對(duì)單引號(hào)(')來(lái)表示字符串。
代碼如下:
var name: string = "bob";
name = 'smith';
4、array
TypeScript 中有兩種數(shù)組聲明方法。
①使用“[]”來(lái)聲明:
代碼如下:
var list: number[] = [1, 2, 3];
②使用數(shù)組類型來(lái)聲明:
代碼如下:
var list: Array
兩種聲明方式都可以使用,效果并不會(huì)有區(qū)別。但建議代碼中應(yīng)盡量只使用其中一種,以保持代碼風(fēng)格統(tǒng)一。
5、enum
枚舉類型是 TypeScript 中新添加的,而 JavaScript 中是沒(méi)有這個(gè)類型的。
代碼如下:
enum Color {
Red,
Green,
Blue
};
var c: Color = Color.Green;
跟 C# 一樣,如果不聲明第一項(xiàng)的值,那么上面 Red 的值就是 0,然后每一項(xiàng)都增加一,即 Green 是 1,Blue 是 2。
代碼如下:
enum Color {
Red = 1,
Green,
Blue
};
var c: Color = Color.Green;
所以此時(shí) Red 的值為 1,Green 為 2,Blue 為 3。
當(dāng)然也可以為每一項(xiàng)都指定一個(gè)值。
代碼如下:
enum Color {
Red = 1,
Green = 2,
Blue = 4
};
var c: Color = Color.Green;
另外枚舉類型還有一個(gè)比較特殊的功能,假如我們有一個(gè)數(shù)值,但是我們不知道枚舉類型中是否有定義,可以用以下方式來(lái)獲取:
代碼如下:
enum Color {
Red = 1,
Green,
Blue
};
var colorName: string = Color[2];
alert(colorName);
colorName = Color[4];
alert(colorName);
那么將會(huì)輸出 Green 和 undefined。因?yàn)?Green 的值是 2,而沒(méi)有一個(gè)枚舉定義的值是 4,所以返回 undefined。
6、any
和 JavaScript 中變量的默認(rèn)類型一樣,指代是動(dòng)態(tài)的,能夠賦予任意類型。例如:
代碼如下:
var notSure: any = 4;
notSure = "maybe a string instead";
notSure = false; // okay, definitely a boolean
定義為 any 后,將失去語(yǔ)法感知的功能,就相當(dāng)于寫 JavaScript 一樣。
值得一提的是,any 可以配合數(shù)組來(lái)使用:
代碼如下:
var list: any[] = [1, true, "free"];
list[1] = 100;
7、void
這個(gè)類型僅能在函數(shù)中使用,可以將函數(shù)的返回類型指定為 void,表示該函數(shù)不返回任何值。
新聞熱點(diǎn)
疑難解答
圖片精選
網(wǎng)友關(guān)注