基础类型
About 5 min
基础类型
布尔类型
// 布尔类型
const isSuccess: boolean = true
console.log(isSuccess)
数字
和JavaScript
一样,TypeScript
里的所有数字都是浮点数。 这些浮点数的类型是 number
// number类型
const a: number = 123
console.log(a)
字符串
// string类型
const name = 'chufan'
console.log(name)
// 模板字符串
const sister: string = `hello,${name}`
console.log(sister)
数组
TypeScript
像JavaScript
一样可以操作数组元素。 有两种方式可以定义数组:
- 可以在元素类型后面接上
[]
,表示由此类型元素组成的一个数组 - 使用数组泛型,
Array<元素类型>
// 数组
const list: number[] = [1, 2, 3, 4]
const arrayList: Array<number> = [1, 2, 3, 4]
console.log(list, arrayList)
元组
元组类型允许表示一个已知元素数量和类型的数组,各元素的类型不必相同
const tupleResult: [string, number] = ['chufan', 23]
console.log(tupleResult)
枚举
// 枚举颜色
enum COLOR {
RED = 0,
GREEN = 1,
BLUE = 3
}
// 枚举人名
enum NAME {
zhangSan = 'zhangSan',
liSi = 'liSi'
}
console.log(COLOR.BLUE, NAME.zhangSan)
Void和Any
某种程度上来说,void类型像是与any类型相反。
- void表示没有任何类型。 当一个函数没有返回值时,你通常会见到其返回值类型是 void
- any表示任意类型,一般写any就直接绕过ts编译等同于js代码
// 函数返回值为空
function testVoid(a: number): void {
console.log(a)
}
// 声明一个void类型的变量没有什么大用,你只能为它赋予undefined和null
const aVoid: void = null
const bVoid: void = undefined
console.log(aVoid, bVoid)
Null 和 Undefined
TypeScript里,undefined和null两者各自有自己的类型分别叫做undefined和null。 和 void相似,它们的本身的类型用处不是很大:
const u: undefined = undefined
const n: null = null
默认情况下null和undefined是所有类型的子类型。 就是说你可以把 null和undefined赋值给number类型的变量。 然而,当指定了--strictNullChecks标记,null和undefined只能赋值给void和它们各自。 这能避免 很多常见的问题