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就是永远达不到的类型,很少用,一般用于异常等