TypeScript 基础类型
1.布尔类型
let value: boolean = false;
变量声明语法:冒号 : 前面是变量名称,后面是变量类型。
2.数字类型
let value: number = 7;
3.字符串类型
let value: string = "yeats";
4.数组类型
数组类型有两种表示方法,第一种在元素类型后接上 [],表示由此类型元素组成的一个数组:
let list: number[] = [1, 2, 3];
第二种方式是使用数组泛型,Array<元素类型>:
let list: Array<number> = [1, 2, 3];
5.void类型
当一个函数没有返回值时,可以将其返回值类型定义为 void:
function doNothing(): void {
let a = 10
}
声明一个 void 类型的变量没有什么用,它只能被赋值为 undefined 和 null.
6.null 类型和 undefined 类型
undefined 和 null 是所有类型的子类型。
一般项目是默认开启 --strictNullChecks 检测的,如果你将 tsconfig.json 中 strictNullChecks 选项设置为 false,下面这种操作不会报错,不过尽量不要这么做:
let num: number = undefined
7.any 类型
有时候接收来自用户的输入,我们不能确定其变量类型的。这种情况下,我们不希望类型检查器对这些值进行检查,而是直接让它们通过编译阶段的检查,此时可以使用 any:
let input: any = 'nothing'
input = 0 // ok
input = true // ok
input = [] // ok
input = null // ok
如果一个数据是 any 类型,那么可以访问它的任意属性,即使这个属性不存在,就相当于在js中声明一个变量:
let anything: any = 10
anything.eat() // ok
anything.name // ok
anything[0] // ok
anything() // ok
8.object 类型
object 表示非原始类型:
let obj: object
// 枚举类型
enum TokenType {
ACCESS = 'accessToken',
REFRESH = 'refreshToken'
}
obj = TokenType
obj = [1, 2, 3]
obj = [1, 'string'] // 元组类型
obj = { a: 1 }
可以发现枚举、数组、元组和普通对象都是 object 类型。
9.需要注意的点
- TypeScript 中描述类型要用
小写,比如 boolean、number、string等; - 大写开头的如 Boolean、Number、String 代表的是 JavaScript 的构造函数.