TypeScript笔记 3--基础类型

强类型是TypeScript值得称赞的特性,对于很多后端开发者来说是绝对的福利,加上静态检查使得我们可以在开发态就可以发现很多问题。

TypeScript中的类型和JavaScript差不多,下面我们一一介绍。

1 布尔(boolean)

let isMe:boolean = true

2 数值(number)

同JavaScript中一样,数值类型都是浮点数,十进制,十六进制,八进制和二进制都支持。

let count:number = 10;
let hexLiteral: number = 0xf00d;
let binaryLiteral: number = 0b1010;
let octalLiteral: number = 0o744;

3 字符串(string)

字符串可以使用双引号和单引号

let msg: string = "Hello World!";
let warning: string = 'alert';

另外,我们还可以使用字符模板,我们可以直接定义多行字符串,还可以使用变量。在JavaScript中要想使用多行必须使用+连接起来,现在字符模板简单多了

let name:string = `Winfred`;
let log:string = `Hello, My name is ${name}

I am 20 years old`

4 数组(Array)

有两种方式可以定义数组

let numbers:number[] = [1,2,3]
let numbers:Array<number> = [1,2,3]

5 元组(Tuple)

元组是已知的元素数量和类型的数组,每个元素类型不一定要相同。

let t:[string, number] = ['msg', 10]
console.log(t[0]) // msg
console.log(t[1]) // 10

6 枚举(enum)

枚举在JavaScript,对其补充,不过在C++,Java语言中都是有的

enum Color {Red, Green, Blue};
let c1: Color = Color.Green;
let c2: Color = Color[0];
// 默认从0开始编号,我们可以改变其默认编号,下面两种都是可以的
enum Color {Red = 1, Green, Blue};
enum Color {Red = 1, Green = 2, Blue = 4};

7 任意值(any)

any是指不知道的类型,直到给其赋值后才知道其类型,而且可以改变其类型

let msg:any = 10;
msg = "string";
msg = true; 
// 编辑器不会报错,可以正常使用

8 空值,null和undefined

在TypeScript中void,null,undefined都是一种类型。

let t1:void = null;
let t2:void = undefined;
let t3:null = null;
let t4:undefined = undefined;

声明一个空值只能给其赋值null或者undefined

9 never

never就是永远达不到的类型,很少用,一般用于异常等

posted @ 2017-02-10 23:17  一箭中的  阅读(1133)  评论(0编辑  收藏  举报