当前位置: 首页 > 知识库问答 >
问题:

typescript - ts 使用规范 --> 消除警告?

郏志学
2023-08-22

image.png
这样排除 get 为什么不行呢?如何修改?

共有4个答案

麻和雅
2023-08-22

改用 type

type IDL = Record<string, number> & { get(dom: HTMLElement): number };
元叶秋
2023-08-22

一种简单的方案是使用 any

interface ID {  add(): number  [key: string]: any}

如果无法接受,那就将化解类型冲突:

注意,下面的写法应该不会这么麻烦,但是我不知道如何声明一个联合函数的类型。
function add() {  return 0;}interface ID {  add(): number;  [key: string]: number | typeof add;}

若是依然不合适的话,那就需要根据使用场景进行调整了。


更新:

type A = (dom: HTMLElement) => number;interface IDL {  add: A;  [key: Exclude<string, 'get'>]: number | A;}
凤高翰
2023-08-22
interface ID {  [key: string]: number | Function;  add(): number;}
昝存
2023-08-22
interface ID {  [parentName: string]: any  add: () => number}

如果你想创作一个受限的自定义对象类型,可以用 Record<Keys, Type>。阅读:https://www.typescriptlang.org/docs/handbook/utility-types.html

type IDKeys = 'get' | 'set' | 'add'type ID = Record<IDKeys, number | string>
 类似资料:
  • 这样排除 get 为什么不行呢?如何修改?

  • 支持项 后端数据库为 MySQL、Oracle、PostgreSQL、SQLServer; 用户需要对数据库表中某个或多个列进行加密(数据加密 & 解密); 兼容所有常用SQL。 不支持项 用户需要自行处理数据库中原始的存量数据、洗数; 使用加密功能+分库分表功能,部分特殊SQL不支持,请参考SQL使用规范; 加密字段无法支持比较操作,如:大于小于、ORDER BY、BETWEEN、LIKE等;

  • 支持项 将外围数据迁移至 Apache ShardingSphere 所管理的数据库; 将 Apache ShardingSphere 的数据节点进行扩容或缩容。 不支持项 不支持无主键表的扩容和缩容。

  • 支持项 提供一主多从的读写分离配置,可独立使用,也可配合分库分表使用; 独立使用读写分离支持SQL透传; 基于Hint的强制主库路由。 不支持项 主库和从库的数据同步; 主库和从库的数据同步延迟导致的数据不一致; 主库双写或多写; 跨主库和从库之间的事务的数据不一致。主从模型中,事务中读写均用主库。 可选项 配置项 详细说明 默认值 适用范围 queryConsistent 该配置为 true 时

  • 背景 虽然 Apache ShardingSphere 希望能够完全兼容所有的分布式事务场景,并在性能上达到最优,但在 CAP 定理所指导下,分布式事务必然有所取舍。 Apache ShardingSphere 希望能够将分布式事务的选择权交给使用者,在不同的场景用使用最适合的分布式事务解决方案。

  • 背景 虽然 Apache ShardingSphere 希望能够完全兼容所有的SQL以及单机数据库,但分布式为数据库带来了更加复杂的场景。 Apache ShardingSphere 希望能够优先解决海量数据 OLTP 的问题,OLAP 的相关支持,会一点一点的逐渐完善。