• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

typescript 泛型

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

泛型

基本

function add<t>(arg1: T, arg2: T): T {
  return arg1 + arg2
}
// add<number>(1,'0') X

泛型接口

function add<T>(arg1:T,arg2:T):T {
  return arg1 + arg2
}

//===

let student : string
let addFunc: <T>(arg1:T, arg2:T) => T

// ===

interface GenAdder <T>(arg1:T, arg2:T) => T
// interface GenAdder {<T>(arg1:T, arg2:T): T}
let addFunc: GenAdder
addFunc = add
addFunc<number>(1,2)

// ===

let addFunc:GenAdder<string>
addFunc(1,2) X
addFunc('1','2') √

泛型类

class Adder {
  add: <T>(arg1: T, arg2: T) => T
}

function add(arg1, arg2) {
  return arg1 + arg2
}

const adder = new Adder<number>()
adder.add = add
adder.add(1, 2)

const stringAdder = new Adder<string>()
stringAdder.add = add
stringAdder.add('1', '2')

泛型约束

interface ILength {
  length: number
}

function getLength<T extends ILength>(arg: T): T {
  console.log(arg.length)
  return arg
}

getLength<boolean>(false)
getLength<string>('xiaozhang')
function getProperty<T, K extends keyof T>(obj: T, key: K) {
  return obj[key]
}

// keyof
const people = { name: 'xiaozhang', age: 16 }
let keys: keyof typeof people

鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
用Typescript开发NodeJS项目发布时间:2022-07-18
下一篇:
​TypeScript都不会用,也敢说会前端?发布时间:2022-07-18
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap