TypeScript中keyof访问基本类型(数字,字符串等)

TypeScript中给我们提供了keyof来拿到一个公共类型所有公共属性的键的联合类型,当我们对一个key-value形的类型用keyof时,我们可以拿到这个类型所有的key

但是这是一个比较直接的key-value比较好理解如果我们给给这个obj里再加一个方法呢

这个也不难理解,方法名就是他的键,他所对应的值就是具体的这个方法

那如果在奇怪一点呢,我们直接对一个数字或者字符串用keyof(以数字来举例)

这时候我们会看到拿到了好多方法名,这是为什么呢,一个数字返回了好多方法名,我们要拿到的不是一个个键嘛,其实这一个个方法名就是那一个个键,当我们用keyof加一个数字字面量时Typescript会把这个数字字面量当作是一个Number构造函数的实例来处理(Number时内置对象)(我们拿到的实际上是Number构造函数原型上的所有方法和属性的键),这个实例就含有了一个个方法toExceptional:() => ...可以类似理解为这样的一些方法,所以我们拿到的键就会有这一个个方法名。

  • 14
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值