依赖参数的上下文类型

2024-01-19

使用联合重载时,是否可以获取函数参数的上下文类型?

declare function f(...args: [x: 'a', y: (a: string) => void] | [x: 'b', y: (a: boolean) => void]): void;

// Parameter 'x' implicitly has an 'any' type.(7006)
f('a', x => {});

declare function g(x: 'a', y: (a: string) => void): void;
declare function g(x: 'b', y: (a: boolean) => void): void;

// Ok.
g('a', x => {});

游乐场链接 https://www.typescriptlang.org/play?#code/CYUwxgNghgTiAEAzArgOzAFwJYHtVIAoA6E2AcwGcAueAbQA8aByKJgGngE8aCoaKMMLKjIBKeAF4AfPABuOLMAC68AD51G8JgCN2XHn3jacOCCCipx0uQuWia8xQG4AUC4D07+AAVYUALYgGCAwWvRM8Fj+AA4QWGBYGBCc8AAWUBTwFloWnBEYnNEgRAQA7AAM5QBsoi6IBCx69JIyAN4AvqKuLqCQsAgo6Nh48GQEmo0c3PC8-ILCYi02ivbLwK690HBIaJi4+GMTulMGNMam5pZLjsCrN92e8ADyANZELmOT8M3WHV1AA

尤其是工作结束后相关参数 https://devblogs.microsoft.com/typescript/announcing-typescript-4-6/#dependent-parameters-cfa,我认为这会起作用吗?是否有一个开放的问题来跟踪这个问题?


None

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

依赖参数的上下文类型 的相关文章

  • 正则表达式仅允许少数特殊字符以及 az 或 AZ

    有一个接受 a zA Z 的字段 我使用 regEx 来正常工作 a zA Z s 现在字段还应该排除除 之外的所有字符 我已经修改了正则表达式以支持此更改 新的正则表达式是 a zA Z s 但看起来它不起作用 有人可以告诉我我做错了什么
  • 如何在 Typescript 中以字符串形式获取接口的属性名称/键名称

    目前使用 Slacks API 在某些情况下我会发送带有字符串的 JSON 请求 这些字符串稍后会作为属性名称返回 我想要一个接口并将其属性名称之一作为字符串发送 然后正确输入返回的对象 我不想处理必须与界面保持同步的 魔术字符串 或常量
  • Rxjs 带延迟功能的重试

    我正在尝试使用retry with delay函数 我预计函数会在 1000 毫秒延迟后调用 但事实并非如此 这里可能会出现什么错误 查看控制台输出 同一时间 16 22 48 我预计有 16 22 48 16 22 59 canCreat
  • 如何同时模拟Pinia和vue-i18n?

    我正在使用 Vue 3 的 Composition API 如下所示 store ts import ref Ref from vue import defineStore from pinia export const useStore
  • Material UI 选项卡:嵌套选项卡会导致无效值错误

    嵌套选项卡会导致控制台中出现以下错误 梅 value提供给 Tabs 组件无效 带有这个的选项卡value 0 不是文档布局的一部分 确保文档中存在或不存在该选项卡项display none In the 基本选项卡 https mui c
  • angular2存储许多字符串值

    我有一些必须在许多组件中使用的字符串常量值 我不想在各个组件中硬编码或将它们写为字符串 在 Angular2 应用程序中维护它们的最佳位置在哪里 解决方案之一是将字符串放置在共享服务中 将服务注入到需要该属性的每个组件中 如果您的字符串不是
  • 使用 @nomiclabs/hardhat-waffle 实现装置

    在官方华夫饼文档中 您可能会找到实现装置的下一种方法 import expect from chai import loadFixture deployContract from ethereum waffle import BasicTo
  • Typescript 中的子类化

    我在 Typescript 中有一个存储类 它实现了Storage界面 说MyStorage 但它的方法太多了 所以我想用它来代替MyStorage getCandy MyStorage Candies getCandies 该结构可能看起
  • 复选框警报控制器 - 添加 3 个按钮

    我用 IONIC 2 Beta 版本制作了一个应用程序 我正在使用复选框警报控制器 并添加两个按钮 确定 和 取消 现在我需要在警报控制器中再添加一个按钮 我在下面实现了添加一个按钮 alert addButton Cancel alert
  • Node.js 10 的 TypeScript tsconfig 设置?

    有谁知道 Node js v10 x 需要哪些目标 库才能在没有生成器的情况下使用内置的 async await 我看到很多关于节点 8 的信息 但没有看到关于节点 10 的信息 从 Node js 开始10 0 0 100 支持ES201
  • 如何避免 Angular 材料中出现额外的 mat-form-field-underline

    我在查找为什么在使用组件时会出现额外的 mat form field underline 时遇到问题 我的页面使用此标记
  • “ReactNode”不是有效的 JSX 元素

    我有以下代码 代码沙箱 https codesandbox io s react typescript forked 50beyp file src App tsx import ComponentType ReactNode from r
  • 如何在 package.json 中对嵌套子模块和 TypeScript 使用“导出”?

    我想利用新的优势 出口 https nodejs org api packages html packages exportsNode js 的功能package json这样我就可以执行以下操作 exports dist index js
  • 角度2中未定义的值

    我正在创建一个应用程序 在其中使用 Ag Grid api 在网页上列出我的数据库内容 Ag grid 有一个预定义的 api 来获取所选行的内容 这是我的代码 export class customer entryComponent pu
  • 如何在 Angular @Input 中仅接受预定义值

    我的问题是 我在 a 中收到一个字符串值作为组件的参数 但我想限制可以用作参数的值 就像enum I use Input type string 但是在组件中 一切都可以引入type正如我之前所说 我需要将其限制为 3 个选项 例如Enum
  • 警告:找不到父级 tsconfig.json

    我想修复警告 警告 找不到父级 tsconfig json 在打字稿中Errors tab in IntelliJ IDEA 2016 3 我的 TypeScript 代码位于src目录和我的 TypeScript 输出将是lib正如预期的
  • 在 Angular html 模板中访问常量枚举

    假设我有一个常量枚举 export const enum MyConstEnum Value1 Value1 Value2 Value2 Value3 Value3 现在我想在我的 Angular 模板中使用它 span This has
  • FullCalendar-vue + Typescript:属性“getApi”不存在

    我尝试将 FullCalendar vue 与 Typescript 结合使用 但在访问其 API 时遇到错误 我的日历设置如下
  • 从回调中访问状态

    我在从回调访问组件状态时遇到问题 国家的价值num更改正确 但此类更改对于加载时定义的回调函数不可见 import React useState from react class MyObject callback gt void cons
  • 使用属性和泛型类型获取“keyof”中项目的类型

    我想定义一个具有泛型类型的接口 该接口必须接受一个对象 其键作为 根字段名称 值作为对象数组 该数组定义一些子字段 其键作为子字段的名称 type 作为字段值的类型 像这样的东西 interface Inputs emails email

随机推荐