ts-泛型&类型声明文件
泛型#
泛型允许我们在定义函数、类或接⼝时,使⽤类型参数来表示未指定的类型,这些参数在具体 使⽤时,才被指定具体的类型,泛型能让同⼀段代码适⽤于多种类型,同时仍然保持类型的安全性
泛型函数#
// 设置泛型使用<T>,T是自定义名称,在函数中使用T表示该类型
function user<T>(data:T):T{
return data
}
// 可以设置多个泛型,返回值可以是T或者U类型
function info<T,U>(a:T,b:U): T | U{
return a
}
// 设置泛型为string
user<string>("a")
info<string,number>("a",1)
泛型接口#
interface UserInterface<T>{
name:T,
age:number
}
// 设置接口的T泛型为string
let user:UserInterface<string>
user = {name:"1",age:2}
泛型约束#
// 自定义一个接口,其中有name属性
interface UserInterface{
name:string
}
// 设置的泛型T继承自UserInterface接口, 即传入的类型T,必须具有name属性,且是string
function info<T extends UserInterface>(data:T):void{
console.log(data.name)
}
let user = {name:"1"}
info(user)
泛型类#
class User<T>{
constructor(public name:T) {
}
}
const user = new User<string>("1")
类型声明文件#
类型声明⽂件是 TypeScript 中的⼀种特殊⽂件,通常以 .d.ts 作为扩展名。它的主要作⽤ 是为现有的 JavaScript 代码提供类型信息,使得 TypeScript 能够在使⽤这些 JavaScript 库 或模块时进⾏类型检查和提示
// js文件
// export用于将模块中的变量、函数、类等内容暴露(提供)给其他模块使用
// 这是现代 JavaScript 模块化编程的重要组成部分
// 它使得代码可以被组织成独立的模块,每个模块有自己的作用域,并且可以选择性地向外共享内容
export function count(a,b){
return a*b
}
// .d.ts文件
// 使用declare声明的内容只是告诉 TypeScript 编译器某个变量、函数或模块的存在和结构,但不会在运行时产生实际的代码。
// 所以在运行时这些声明的内容确实存在,否则可能会导致运行时错误
// 声明函数,告诉ts有这个函数
declare function count(a:number,b:number):number
declare function print(a:number,b:number):void
// 将count,print暴露出去
export {count,print}
// ts文件
// 导入b.d.ts中的count和print
import {count, print} from "./b";
count(1,2)
风月都好看,人间也浪漫.
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)