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};

posted @   前端导师歌谣  阅读(48)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
点击右上角即可分享
微信分享提示