Typescript 类可以实现可调用接口吗?

2024-03-20

Typescript 接口允许定义函数风格的调用签名,因此:

interface A {
    (x: number): number;
}

这可以通过例如一个函数:

const a: A = function(x: number): number {
    return 1;
}

是否可以使用类来实现这样的接口?

我已经尝试过这样的操作:

class B implements A {
    (x: number): number {
        return 1;
    }
}

但我收到这个错误:

类“B”错误地实现了接口“A”。 “B”型不提供 匹配签名 '(x: number): number'.ts(2420)

有没有办法使用 Typescript 中的类来实现这种接口?


None

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

Typescript 类可以实现可调用接口吗? 的相关文章

  • Firefox createMediaStreamDestination 使用 rtc 的错误?

    我通过 rtc 流式传输音频并想要静音和取消静音音频 这有效 但没有增益控制 function stream getUserMedia stream console log Access granted to audio video pee
  • 在一段时间内切换(或闪烁)表中的特定单元格

    我已经在 Html 中创建了一个表格 我想让一个特定的单元格闪烁 打开和关闭 您能否让我知道是否可以使用 javascript h4 Two rows and three columns h4 table border 1 width 10
  • Javascript 单元测试 - DOM 操作

    我对 Javacript 单元测试很陌生 有件事一直困扰着我 在测试 javascript 时 我们经常需要进行 DOM 操作 看起来我正在对控制器 组件中的方法 函数进行单元测试 但我仍然需要依赖模板中的 HTML 元素 一旦 id 或在
  • Safari 在后台选项卡中延迟 setInterval / setTimeout(间隔 > 1000ms)

    请注意 当页面位于后台选项卡中时 Safari 10 0 3 会延迟我的代码 var interval 2000 var scriptTime new Date getTime function addTime scriptTime int
  • 如何解释这个正则表达式 /[\W_]/g

    我的代码是 var result2 result replace W g replace replace 该代码有效 我得到了我需要完成的工作 但我不明白正则表达式如何 W g有效 但我找不到任何我理解的文档 g这是一个全局正则表达式 因此
  • 使用 window.print 内容将网页下载为 pdf

    我想要一个链接 当单击该链接时 会自动开始下载网页的可打印版本 我正在使用Moodle 我想要的内容是完全相同的如果我使用 ctrl p 下载页面并保存为 pdf 或使用 a href Download web page a 我正是想要该内
  • 直接加载页面到锚标记

    当我加载 URL 中带有哈希标记的页面时 页面会加载 然后跳转到锚标记 有没有什么方法可以防止这种 跳转 要么直接将页面加载到锚标记 要么至少使滚动平滑 我在 Chrome 和 Firefox 中看到这个问题 但在 IE 中没有 如果你仍然
  • Material UI v1.0.0 如何重写Stepper类来设置图标大小

    我现在正在迁移到新版本的 Material UI 我不得不说我有点困惑如何覆盖类 我需要使用Stepper https material ui next com demos stepper 使用替代标签 它对我有用 我能够覆盖根类来设置透明
  • 有没有办法覆盖 Google 路线服务缩放值?

    我使用下面的代码来获取两点之间的路线 directionsService route request function response status if status google maps DirectionsStatus OK di
  • 使用 Asynchronous ReadableStream 和 Response 从 Service Worker 的 fetch 事件返回 HTML

    这个问题类似于我的另一个问题 https stackoverflow com questions 62457644 use readablestream with response to return html from fetch eve
  • AJV自定义关键字验证

    我正在使用 AJV 库来验证我的 JSON 架构 我希望能够验证Startdate成为一个字符串 如果不是字符串 则应将其转换为N A 目前 它仅转换undefined to N A 但是 在这些情况下 它不会按预期工作 null gt 空
  • 使用 arrayRemove() 从 firestore 9 数组中删除对象?

    我正在尝试从 firestore 中的数组中删除一个对象 但遇到了障碍 执行删除的要求或参考是什么 对象中的一个键值是否足以执行删除操作 或者该对象是否应该与要删除的对象相同 const deleteWeek async gt const
  • ASP.Net Web 应用程序 Jquery Photoviewer 和 Ajaxical 更新

    有一个错误我的网站 http new mnarfezhom com 请进入右数第三个菜单 有些图像只能通过 jquery photoviewer 显示 onlclick 这很好用 现在 当我单击页面底部的 Ajaxical 更新按钮时 问题
  • 通过 AJAX 加载 Google Maps API,控制台错误

    我正在使用 jquery javascript ajax 和 php 构建一个完全动态的网站 当我单击导航链接时 浏览器会使用 ajax 打开该页面 所以基本上所有页面都加载在同一个index php 中 如果我转到 位置 选项卡 其中有谷
  • 数据与线的日期和时间转换

    我使用 D3 V5 创建了此图表 另外 我已在小提琴上附加了示例数据 您可以点击此处查看 https plnkr co edit pINxcS9yt9AuJmSk02Fs p preview 我已经包括了tick函数代码块 它在向左滑动的路
  • Spring MVC - 两次提供内容

    我已经花了一周时间寻找有关如何将内容服务器到我的网页的指导 两次 因为使用 Model 或 ModelAndView 切断内容一次可以工作 但如果用户再次与页面交互 我希望它加载更多内容同一页 Java Spring 后端方法 Get 有效
  • 如何在 Mongoose 中设置文档创建的 TTL 日期?

    我正在尝试做一个promoCodeMongoose 中的架构 创建时 我需要能够设置促销代码的到期日期 促销代码不一定相同TTL 我在看这个问题 https stackoverflow com questions 14597241 sett
  • Typescript 中的顶级等待和导入

    我正在研究 Typescript 并遇到问题 我想使用import和顶级await但目前 我一次只能使用一个 这是我的配置tsconfig json这允许我使用导入 target ESNext module ESNext 这个允许我使用顶级
  • 在 Firefox 中单击桌面通知时如何将焦点移至选项卡?

    我正在一个网站中实现桌面通知 该网站会在新消息到达时显示通知 我希望当用户单击通知时 打开网站的浏览器选项卡能够获得焦点 我可以使用以下代码在 Chrome 中实现此功能 var n new Notification Title body
  • 在 JavaScript 中将带有哈希值的十六进制字符串转换为带有 0x 的十六进制值的最佳方法?

    这个问题不是问如何将哈希字符串十六进制值转换为其相反的颜色 这个问题询问如何将哈希字符串十六进制值转换为常规十六进制值 如下所述 我从元素的存储样式中获取元素的十六进制颜色值 我需要将它们的十六进制值 带有像 FFFFFF 这样的哈希值的字

随机推荐

  • 获取当前活动的键盘语言为 NSLocale

    我已经找到了很多方法 但没有有效的解决方案 这是我尝试过但没有成功的方法 1 简单调用主要语言 UITextInputMode primaryLanguage 总是返回 nil 2 订阅UITextInputCurrentInputMode
  • 如何在给定特定 PID 的情况下终止 Java 中的进程

    如果我有特定的 PID 如何在 Windows 上从 Java 代码中终止特定进程 除了执行特定的操作之外 我不知道任何其他解决方案Windows命令就像Runtime getRuntime exec taskkill F PID 827
  • 为什么在尝试更新 OData 服务时 HttpWebRequest.GetResponse() 会挂起?

    我正在用 C 编写一个 OData 消费者 我可以成功删除一个条目 但由于某种原因 当我尝试更新时 它只是挂起 冻结在 GetResponse 上 它甚至忽略了我的超时 下面是我的测试代码 有什么明智的建议吗 XDocument doc X
  • 在 C 中取消引用字符串文字有什么影响?

    include
  • 在移动设备上拖放 HTML

    当您使用JavaScript向网页添加拖放功能 例如jQuery UI可拖放 时 如何在通过移动设备上的浏览器查看时使其发挥作用 在移动设备上 触摸屏的拖动操作会被拦截手机用于滚动页面等 欢迎所有解决方案 我最初的想法是 为移动设备提供一个
  • scriptcs - 无法读取包

    我关注了一个博客文章 http inaspiralarray blogspot com 2013 08 scriptcs in two minutes html只需两步即可运行 scriptcs 基本上 我是这样做的 powershell
  • 删除不在引号内的哈希注释

    我正在使用 python 来浏览文件并删除所有注释 评论被定义为散列及其右侧的任何内容只要哈希值不在双引号内 我目前有一个解决方案 但它似乎不是最佳的 filelines r re compile for line in f m r spl
  • 如何在 vscode 中将 .css 文件解析为 PostCSS?

    我在项目中使用PostCSS CSS文件的扩展名是 css所以当我打开一个时 它会指示一堆错误 由于 PostCSS 的语法 我已经尝试安装stylelint PostCSS syntax扩展等等 但没有任何效果 如果我将扩展名更改为 sc
  • 对话框中按钮的自定义放置 - jquery ui

    我想将添加到对话框的按钮移动到顶部或左侧 我正在使用 jquery ui 如何做到这一点 添加 ok 后 它会显示在最右端 可以将其放置在周围吗 function dialog message dialog modal true resiz
  • 使 Flexbox 上下颠倒换行

    今天 我正在查看我构建的 选项卡 HTML gizmo 我注意到由于我使用 inline block 来布局选项卡标题 当它们包装时 我会得到如下所示的输出 Apple Banana Cherry Date Elderberry Fig G
  • 使用 Gulp 将 browserify 模块设为外部

    我有一个图书馆lib js我想从中创建lib a js and lib b js并能够从脚本中使用它client js using var a require lib a js 当我只包含已编译的内容时它就可以工作lib js之前的图书馆c
  • 在 Google Apps 脚本中比较日期范围与今天的日期

    我希望使用这篇文章作为参考 将从电子表格中提取的日期与今天的日期进行比较 如何使用 Google Apps 脚本将日期与电子表格进行比较 https stackoverflow com questions 14350671 how do i
  • 访问派生类中的基类成员

    我有一个简单的课程如下 class A protected int x class B public A public int y void sety int d y d int gety return y int main B obj o
  • JetBrains Toolbox 应用程序在 Windows 上为空白

    我在 Windows 10 上安装了 JetBrains Toolbox 应用程序 但是当我启动它时 它只显示一个空白边框 如下所示 我尝试重新安装它但仍然不起作用 有人知道如何解决这个问题吗 看起来类似于ALL 1419 https yo
  • 那么如何通过终端打开Android SDK Manager呢? [复制]

    这个问题在这里已经有答案了 我已经将 CD 放入终端中的 android 工具目录中 我尝试输入 android 并按回车键 我也尝试输入 android sdk 并按回车键 但 sdk 管理器不会出现 有什么解决方案或建议可以帮助我了解我
  • HTML5 Canvas 形状从圆形到三角形

    我一直在环顾四周 似乎找不到一种清晰的方法来使形状从圆形变为三角形或矩形或相反 我假设我可以以某种方式存储形状并更改其属性以转换它 基本上我要问的是 如何绘制一个圆形 然后单击按钮将其动画化为三角形 画布形状可以吗 Thanks 您可以使用
  • “启动失败。未找到二进制文件。” Snow Leopard 和 Eclipse C/C++ IDE 问题

    不是问题 我刚刚在互联网上搜索了这个问题的解决方案 并认为我会与 SO 的好人分享 我会用通俗易懂的语言来表述 以便新手也能理解 如果这是错误的地方 我们深表歉意 只是想提供帮助 几乎所有尝试使用 Eclipse C C IDE 的 OS
  • 扩展现有协议以符合另一个协议

    你好 我的目标是扩展 在 swift 3 中 我在框架中拥有的协议 以符合另一个协议 protocol SomeProtocol protocol SomeOtherProtocol extension SomeOtherProtocol
  • R:绘制 igraph 时选择性显示节点

    如何绘制 igraph 节点的选择 我有一个现有的图表 但它太复杂了 我希望能够 放大 节点的子集 我能够删除边缘的子集 但我不知道如何 关闭 孤立的节点 当使用network包 该displayisolates FALSE参数执行此操作
  • Typescript 类可以实现可调用接口吗?

    Typescript 接口允许定义函数风格的调用签名 因此 interface A x number number 这可以通过例如一个函数 const a A function x number number return 1 是否可以使用