基础类型(Primitive Types)
TypeScript的基础类型与JavaScript对应,但增加了类型注解的能力。
// 基础类型
let str: string = 'hello'
let num: number = 42
let bool: boolean = true
let nul: null = null
let undef: undefined = undefined
let sym: symbol = Symbol('id')
let big: bigint = 100n
typescript
类型推断
TypeScript具有类型推断能力,变量初始化时可以省略类型注解:
let name = 'Alice' // TypeScript自动推断为string类型
let age = 25 // 自动推断为number类型
typescript
引用类型(Reference Types)
数组
const numbers: number[] = [1, 2, 3]
const strings: Array<string> = ['a', 'b', 'c']
// 只读数组
const readonlyArr: ReadonlyArray<number> = [1, 2, 3]
typescript
对象
// 对象类型可以用接口或type定义
interface User {
name: string
age: number
email?: string // 可选属性
}
const user: User = {
name: 'Alice',
age: 25
}
typescript
函数
// 函数类型
const add = (a: number, b: number): number => a + b
// 函数类型表达式
type MathFn = (a: number, b: number) => number
const multiply: MathFn = (a, b) => a * b
typescript
联合类型与类型守卫
// 联合类型
let value: string | number
value = 'hello'
value = 42
// 类型守卫
function process(value: string | number) {
if (typeof value === 'string') {
return value.toUpperCase() // TypeScript知道这里是string
}
return value.toFixed(2) // TypeScript知道这里是number
}
typescript
↑