ts(keyof,typeof)

  • keyof 获取某类型的键,返回联合类型
interface Person {
  hair: string;
  eyesColor: string;
}

let P1 = keyof;
Penson; //"hair"||'eyesColor'
//特别
type K3 = keyof { [x: string]: Person }; // string | number
  • typeof 获取某值变量的类型
let xiaoming = {
  hair: "black",
};
type K = typeof xiaoming; //K={hair:string}
const COLORS = {
  red: "red",
  blue: "blue",
};

// 首先通过typeof操作符获取color变量的类型{red:string,blue:string},然后通过keyof操作符获取该类型的所有键,
// 即字符串字面量联合类型 'red' | 'blue'

type Colors = keyof typeof COLORS;
let color: Colors;
color = "red"; // Ok
color = "blue"; // Ok

// Type '"yellow"' is not assignable to type '"red" | "blue"'.
color = "yellow"; // Error

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值