欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 科技 > 名人名企 > ts 工具类型

ts 工具类型

2025/5/8 14:33:29 来源:https://blog.csdn.net/yf18040578780/article/details/147770583  浏览:    关键词:ts 工具类型

Record<string, any> 是 TypeScript 中的一种类型定义

  1. Record 是 TypeScript 内置的工具类型,用于表示一个键值对的对象类型
  2. <string, any> 是泛型参数:
    • 第一个参数 string 表示对象的键(key)类型是字符串
    • 第二个参数 any 表示对象的值(value)类型可以是任意类型
  3. 整体含义是:一个键为字符串,值可以是任何类型的对象
extraParams?: Record<string, any>; // 新增额外参数属性const params: Record<string, any> = {id: 123,       // 数字name: "test",  // 字符串enabled: true  // 布尔值
};interface User {id: number;name: string;age?: number; // 可选属性   
}const handleSelect = (item: User) => {console.log(item.name); // 明确知道 `name` 是 stringconsole.log(item.age);  // 可能是 number | undefined   
};handleSelect({ id: 1, name: "Alice" }); // OK   
handleSelect({ id: 2, name: "Bob", age: 30 }); // OK   
handleSelect({ id: 3 }); // 报错:缺少 `name`

总结

  • Record<string, any> 表示 键是字符串、值任意的对象,比 object 更精确,比 any 更安全。
  • 适用场景:当需要表示一个未知结构的对象,但至少确保它是键值对形式时。
  • 推荐改进:如果知道对象的具体结构,应该用 interface 或 type 替代 Record<string, any>,以获得更好的类型安全。

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词