ts重点学习40-索引签名笔记

export default {}

/* 
  - 定义: 索引签名用于描述那些“通过索引得到”的类型
  - 格式: 如`[props: string]:any`
  - 应用场景: 解决参数问题
*/
interface IFullName {
  firstName: string
  lastName: string
  age: number
  singName: string
  [props: string]: any
}

// 注意点: 我们一旦定义好接口,就确定了变量或者形参,我们使用接口进行约束的时候,就必须一模一样

// 少一个或者少多个参数的情况  可选属性
// let goddess1:IFullName = {firstName: "邱", lastName: "淑贞"};
// let goddess2:IFullName = {firstName: "邱", lastName: "淑贞", age: 18};


// 多一个或者多多个
// 方案一: 使用变量  不推荐
let info = {firstName: "邱", lastName: "淑贞", age: 18, singName: "赌王", dance: "兔子舞"};
let goddess3:IFullName = info;

// 方案二: 使用类型断言
let goddess4:IFullName = 
  ({firstName: "邱", lastName: "淑贞", age: 18, singName: "赌王", dance: "兔子舞", abc: false}) as IFullName;


interface Ibeauty {
  [props: string]: string
}
// 注意点: 对象中的键,最终都会被转化为字符串
let name: Ibeauty = {
  name1: "邱淑贞",
  name2: "古力娜扎",
  name3: "周慧敏",
  // name4: 123
  // 123: 123
}




// 方案三: 使用索引签名

let goddess5:IFullName = 
{firstName: "邱", lastName: "淑贞", age: 18, singName: "赌王", 
dance: "兔子舞", abc: 123, bcd: false};

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值