TypeScript学习指南第一章--基础数据类型(Basic Types)

时间:2023-02-06 17:59:55

基础数据类型(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");
}