typescript基础
2026年5月13日大约 1 分钟
类型
类型声明,限定和断言
类型推断
下面这种示例是ts自动推断
let str = '123'
str = 123 // 类型错误:不能将类型"number"分配给类型"string"类型注解(类型限定)
let str: string = '123'
str = 123 // 类型错误:不能将类型"number"分配给类型"string"类型断言
提示
这种方式必须保证代码没有问题,要确定类型是正确的,谨慎使用
let numberArray = [1,2,3]
const result = numberArray.find((item) => item > 2) as number
result * 5基础类型和联合类型
基础类型
let v1: string = ''
let v2: number = 0
let v3: boolean = false
let v4: null = null
let v5: undefined = undefined
let v6: symbol = Symbol()
let v7: bigint = 123n联合类型
let v1: string | null = null值的限定
let v1: 1 | 2 | 3 = 1数组
let v1: number[] = [1,2,3]
let v2: Array<number> = [1,2,3]元组
提示
示例中第三个表示可选参数
let t1: [string, number,number?] = ['1', 1]枚举
enum MyEnum {
A,
B,
C
}
console.log(MyEnum.A) //值为0
console.log(MyEnum[0]) //值为A函数
function myFunc(a:string,b = 10,c?:boolean, ...rest:number[]): number {
return 100
}
myFunc('1',1,true,1,2,3)接口
interface Person {
name: string
age: number
}
const people: Person = {
name: '123',
age: 123
}类型别名
type UserName = string | number
const name: UserName = '123'泛型
示例:一个简单函数
function myFunc(a:number,b:number):number[] {
return [a,b]
}但是上面那种可能无法复用
下面的示例中,使用泛型其实就是给参数类型定义一个变量
function myFunc<T>(a:T,b:T):T[] {
return [a,b]
}
myFunc<string>('1','2')
myFunc<number>(1,2)