跳至主要內容

基础类型

微信公众号:储凡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)

数组

TypeScriptJavaScript一样可以操作数组元素。 有两种方式可以定义数组:

  • 可以在元素类型后面接上 [],表示由此类型元素组成的一个数组
  • 使用数组泛型,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相似,它们的本身的类型用处不是很大:

let u: undefined = undefined;
let n: null = null;

默认情况下null和undefined是所有类型的子类型。 就是说你可以把 null和undefined赋值给number类型的变量。 然而,当指定了--strictNullChecks标记,null和undefined只能赋值给void和它们各自。 这能避免 很多常见的问题