首页 > 其他 > 详细

TypeScript系列2-手册-基础类型

时间:2015-08-16 19:57:29      阅读:113      评论:0      收藏:0      [点我收藏+]

基础类型(Basic Types)  

我们提供一些基础类型,比如数字(numbers)、字符串(strings)、结构(structures),布尔值(Boolean)等等。在TypeScript中,我们支持JavaScript中相同的类型,还提供枚举类型。

Boolean

最基础的数据类型是true/false值,JavaScript和TypeScript以及其他语言把它叫做‘boolean‘类型。

var isDone: boolean = false;

Number

JavaScript一样,在TypeScript中的所有数字都是浮点数。这些浮点数使用‘number‘类型。

var height: number = 6;

String

JavaScript用来构建web页面和服务端程序的另一个基础部分是处理文本数据(textual data)。与其他语言一样,我们使用‘string‘来指这些文本数据类型。如同在JavaScript中一样,TypeScript也使用双引号(")或单引号(‘)来包裹这些字符串数据。  

var name: string = "bob";
name = ‘smith‘;

Array

TypeScript与JavaScript一样,允许你使用数组。数组类型可以用2种方式书写。第一种方式,你可以在元素类型后面跟一个‘[]‘来表示该元素类型的数组:

var list:number[] = [1, 2, 3];


第二种方式是使用数组泛型,Array<elemType>:

var list:Array<number> = [1, 2, 3];

Enum

JavaScript标准数据类型集合外,增加了"enum"类型。如同c#等语言一样,enum是表示一组数值更为友好的方式。

enum Color {Red, Green, Blue};
var c: Color = Color.Green;


枚举类型默认从0开始计数。但可以对其中一个成员设置值来改变这一行为。例如针对前面例子,修改为从1开始而不是从0开始计数。

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"映射到Color枚举的哪一个,可以根据下面代码找到对应的名称:  

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; // okay, definitely a boolean


‘any‘类型提供一条能与现有JavaScript协作的途径,允许你逐步选择参与和不参与编译时的类型检测。如果你知道类型的某些部分,但不知道类型的其他部分,那么‘any‘类型是十分方便的。例如有个数组用了不同的数据类型

var list:any[] = [1, true, "free"];

list[1] = 100;

Void

在某些情况下,‘any’类型的反面可能就是‘void‘类型,它表示非任何类型。可以把它看成一个无返回值函数的返回类型:

function warnUser(): void {
    alert("This is my warning message");
}

参考资料

[1] http://www.typescriptlang.org/Handbook#basic-types


TypeScript系列2-手册-基础类型

原文:http://my.oschina.net/1pei/blog/493181

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!