TypeScript 中括号用法笔记

本文只是简单从语法层面描述 [] 的用法。

索引签名

作用:告诉TS实际属性比计划的更多一些。

注意:键的类型必须可以赋值给 number 或 string 。

let a: {
    b: number;
    c?: string;
    // 注意当key是string的时候,那么确定属性和可选属性的类型必须是它的属性的子集。
    // eg:[key: string]: string | number;
    [key: number]: boolean;
}

a = {
    b: 1;
    c: 'hey';
    20: false;
}

获取接口类型的联合类型

interface Person{
    name: string;
    age: number;
}
// keyof Person => "name" | "age"
type student = Person[keyof Person];
let stu1: student = 'tom';

遍历接口

interface Person{
    name: string;
    age: number;
}
// in keyof Person => 遍历 name,string
// per2 = {
//    name: string;
//    age: number;
//}
type per2 = {
  [P in keyof Person]: Person[P];
};

let a: per2 = {
  name: "tom",
  age: 12
};

数组

type per2 = {
  [P in keyof Person]: Person[P];
}[];
// per2 => Person[];
let c: per2 = [
  {
    name: "tom",
    age: 12,
  },
];

键入类型

键入类型可以理解为选择类型。

type per2 = {
  [P in keyof Person]: Person[P];
}[keyof Person];
// per2 => "string" | "name"
let c: per2 = "tom";
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值