咱们提供一些基础类型,好比数字(numbers)、字符串(strings)、结构(structures),布尔值(Boolean)等等。在TypeScript中,咱们支持JavaScript中相同的类型,还提供枚举类型。web
最基础的数据类型是true/false值,JavaScript和TypeScript以及其余语言把它叫作'boolean'类型。typescript
var isDone: boolean = false;
跟JavaScript同样,在TypeScript中的全部数字都是浮点数。这些浮点数使用'number'类型。
编程
var height: number = 6;
JavaScript用来构建web页面和服务端程序的另外一个基础部分是处理文本数据(textual data)。与其余语言同样,咱们使用'string'来指这些文本数据类型。如同在JavaScript中同样,TypeScript也使用双引号(")或单引号(')来包裹这些字符串数据。 c#
var name: string = "bob"; name = 'smith';
TypeScript与JavaScript同样,容许你使用数组。数组类型能够用2种方式书写。第一种方式,你能够在元素类型后面跟一个'[]'来表示该元素类型的数组:数组
var list:number[] = [1, 2, 3];
第二种方式是使用数组泛型,Array<elemType>:
函数
var list:Array<number> = [1, 2, 3];
在JavaScript标准数据类型集合外,增长了"enum"类型。如同c#等语言同样,enum是表示一组数值更为友好的方式。spa
enum Color {Red, Green, Blue}; var c: Color = Color.Green;
枚举类型默认从0开始计数。但能够对其中一个成员设置值来改变这一行为。例如针对前面例子,修改成从1开始而不是从0开始计数。code
enum Color {Red = 1, Green, Blue}; var c: Color = Color.Green;
或者,手动设置枚举中每个值:
ip
enum Color {Red = 1, Green = 2, Blue = 4}; var c: Color = Color.Green;
枚举类型一个便利的特性是能够根据数值找到值对应的名称。例如,要想知道数值"2"映射到Color枚举的哪个,能够根据下面代码找到对应的名称: 字符串
enum Color {Red = 1, Green, Blue}; var colorName: string = Color[2]; alert(colorName);
当咱们编程的时候,咱们有时不得不去描述咱们还不能肯定的变量类型。这些值可能来自动态内容,好比来自用户自定义或者第三方库。在这些状况下,咱们但愿它们不参与类型检测,从而经过编译检测。为了作到这点,咱们标记为'any'类型:
var notSure: any = 4; notSure = "maybe a string instead"; notSure = false; // okay, definitely a boolean
'any'类型提供一条能与现有JavaScript协做的途径,容许你逐步选择参与和不参与编译时的类型检测。若是你知道类型的某些部分,但不知道类型的其余部分,那么'any'类型是十分方便的。例若有个数组用了不一样的数据类型:
var list:any[] = [1, true, "free"]; list[1] = 100;
在某些状况下,‘any’类型的反面可能就是'void'类型,它表示非任何类型。能够把它当作一个无返回值函数的返回类型:
function warnUser(): void { alert("This is my warning message"); }