基础数据类型(Basic Types)
为了搭建应用程序,我们需要使用一些基础数据类型比如:numbers,strings,structures,boolean等等. 在TypeScript中除了JavaScript现有的常见的数据类型外还有一个非常实用的枚举类型(enumeration type).
Boolean
最基础的数据类型莫过于只有true和false的布尔类型了,在TypeScript,JavaScript以及其它的很多数程序语言中我们使用关键字'boolean'.
var isDone: boolean = false;
Number
正如在JavaScript中一样,所有的数字在TypeScript中都是浮点型,我们使用关键字'number'定义数字类型.
var height:number = 6;
String
除去boolean和number类型,其它的基础数据一般都存在字符串类型中. 如其它计算机语言一样,在TypeScript中使用关键字'string'定义字符串. TypeScript和JavaScript一样使用双引号("Data")或者单引号('Data')去包裹字符串内容.
var name: string = "Bob"; name = "Scott";
Array
像JavaScript一样,TypeScript允许你使用数组类型. 我们可以使用两种方式中的任意一种定义数组类型. 第一种方式通过在数据类型后紧跟一对中括号"[]"去定义某特定类型的数组:
var list:number[] = [1,2,3];
第二种方式使用一个泛型数组类型,Array<ElementType>:
var list:Array<number> = [1,2,3];
Enum
除了JavaScript中的基本数据类型,在TypeScript中我们可以使用关键字'Enum'去定义一个枚举类型. 就像在C#中一样, 枚举类型可以让你以更加友好的方式定义一组数字类型.
enum Color {Red, Green, Blue}; var c: Color = Color.Green;
默认情况下,枚举中的元素是从0开始的,TypeScript允许你手动去修改某个元素的值. 我们可以让枚举类型从1开始:
enum Color {Red = 1, Green, Blue}; var c: Color = Color.Green;
甚至你可以手动去设置每个元素的值:
enum Color {Red = 1, Green = 2, Blue = 4}; var c: Color = Color.Green;
另一个方便的特性是,你可以通过枚举类型的索引取出与之相对应的字符串,如果已知索引为2,但是不知道与之相对应的字符串是什么,我们可以通过这个特性来查看:
enum Color {Red = 1, Green, Blue}; var colorName: string = Color[2]; alert(colorName);
Any
在我们开发程序的时候,有时候需要去定义一些我们未知的数据类型,这个变量的值可能是从一些动态内容中获取,比如一些第三方类库. 在这种情况下,我们希望定义一个不参与类型检查的变量并且通过编译,这时可以使用关键字'any'.
var notSure: any = 4; notSure = "maybe a string instead"; notSure = false; // 布尔类型
'any'是一个强大的数据类型去和现有的JavaScript类库对接,允许你在编译时按部就班的参与和退出类型检查.
如果你已知部分数据类型any同样非常方便,比如你有个包含不同类型数据的数组:
var list:any[] = [1, true, "free"]; list[1] = 100;
Void
跟'any'相对应的数据类型是'void',通常会出现在一个函数没有任何返回值的时候.
function warnUser(): void { alert("This is my warning message"); }