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) 

作者:木子七

出处:https://www.cnblogs.com/Mickey-7/p/18531986

posted @   木子七  阅读(40)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
点击右上角即可分享
微信分享提示
workspaces
keyboard_arrow_up dark_mode palette
选择主题
menu