typeof 对象类型检验

本文探讨了如何在 TypeScript 中使用泛型和 `keyof` 来确保函数参数的类型正确,重点介绍了 `get1` 函数,它通过 `` 的约束来避免编辑器报错,并提供实例展示了如何正确地使用这个方法。
摘要由CSDN通过智能技术生成

在日常写函数的时候,我们常常会写到函数,像这样

const result1 = {
  a: 3,
  hello :'world'
}
// 这里屋发断定 o 中是否一定有 name 属性
function get(o: object, name: string) {
  return o['name']
}
get(result1, 'xx')

在 ts 中编辑器将会报 这样的错误

可以将通过

// 通过泛型及 keyof 的方式来约束 泛型 K 一定是属于 泛型 T 的属性
function get1<T extends object, K extends keyof T>(o: T, name: K): T[K]{
  return o[name]
}

get1(result1,'a')

这样就能安安心心的使用了

方法没提示错误,在使用方法的时候,第二个参数也有给予提示(枚举类)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

放逐的程序猿

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值