当前位置: 首页 > news >正文

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>,以获得更好的类型安全。

相关文章:

  • 【PostgreSQL数据分析实战:从数据清洗到可视化全流程】7.1 主流可视化工具对比(Tableau/Matplotlib/Python库)
  • LLM词编码机制:词映射
  • CTF-DAY9
  • Linux零基础快速入门课程笔记详解
  • Oracle 数据布局探秘:段与区块的内部机制
  • MCP 规范新版本特性全景解析与落地实践
  • 二叉查找树,平衡二叉树(AVL),b树,b+树,红黑树
  • 41.防静电的系列措施
  • CTK的插件框架和QTUI集成方法
  • C++回顾 Day5
  • upload-labs靶场通关详解:第二关
  • 代码随想录算法训练营第60期第二十九天打卡
  • 超越 DeepSeek-R1,英伟达新模型登顶
  • 在cursor中使用MCP插件生成旅行规划到桌面的执行步骤分析
  • 统计匹配的二元组个数 - 华为OD机试真题(A卷、JavaScript题解)
  • 破解逆向专辑(一)
  • Qt界面设计时窗口中各控件布局及自适应方法
  • 如何用FastMCP快速开发自己的MCP Server?
  • 云硬盘的原理
  • 分布式-Redis分布式锁
  • 习近平同俄罗斯总统普京会谈
  • 万玲、胡春平调任江西省鹰潭市副市长
  • 司法部:建立行政执法监督企业联系点,推行行政执法监督员制度
  • 长安汽车辟谣作为二级企业并入东风集团:将追究相关方责任
  • 上海市委常委会扩大会议传达学习习近平总书记考察上海重要讲话和在部分省区市“十五五”时期经济社会发展座谈会上的重要讲话精神
  • 践行自由贸易主义理念,加快区域合作进程