首页 > 其他分享 >给 TypeScript 回调函数定义接口

给 TypeScript 回调函数定义接口

时间:2022-08-21 00:44:38浏览次数:99  
标签:TypeScript 定义 value callback boolean 接口 str string

回调函数定义接口就目前我所知道的有两种方式,第一个就是直接声明一个 interface,第二个就是直接在函数的回调函数参数写类型。

(1)第一种:定义接口,回调函数直接使用接口

interface NormalizeCallback {
  (str: string): boolean
}

function doSomething(value: string, callback: NormalizeCallback): boolean {
  return callback(value);
}

let result = doSomething("123一二三", (str: string) => str.test(/^[0-9]*$/));
console.log(result);

(2)第二种:直接定义在参数上

function doSomething(value: string, callback: (str: string) => boolean): boolean {
  return callback(value);
}

标签:TypeScript,定义,value,callback,boolean,接口,str,string
From: https://www.cnblogs.com/Enziandom/p/16609173.html

相关文章

  • [Typescript] Filtering properties out
    Listallthepropswithbeginwith"query"keyinDocumenttypequeryTypes=Extract<keyofDocument,`query${string}`>typequeryyPoprDoc={[KeyinqueryT......
  • Java自定义注解
    ​/**作者:呆萌老师*☑csdn认证讲师*☑51cto高级讲师*☑腾讯课堂认证讲师*☑网易云课堂认证讲师*☑华为开发者学堂认证讲师*☑爱奇艺千人名师计划成员*在这里给大......
  • 函数式接口概念和使用
    函数式接口概念函数式接口在Java中是指:有且仅有一个抽象方法的接口函数式接口,即适用于函数式编程场景的接口。而Java中的函数式编程体现就是Lambda,所以函数式接口就是可......
  • JSON的概念和语法定义
    JSON的概念概念:JavaScriptObjectNotationJavaScript对象表示法json现在多用于存储和交换文本信息的语法进行数据的传输JSON比XML更小、更快,更易解析JSON是轻量......
  • 【Python基础教程】类的定义和使用
    哈喽兄弟们,今天咱们分享一下类的定义和使用。 在Python中,类表示具有相同属性和方法的对象的集合。在使用类时,需要先定义类,然后再创建类的实例,通过类的实例就可以访问......
  • Spring Boot调用api patch接口
    SpringBoot调用apipatch接口示例:/***调用apipatch接口**@paramurl*@paramjsonObject*@returnjava.lang.String*@a......
  • Spring Boot调用api delete接口
     SpringBoot调用apidelete接口示例:/***调用apidelete接口**@paramurl*@authorli.zhm*@date2022/8/2014:07*@hist......
  • JSON概念和JSON语法的定义与值的获取
    JSON概念概念: JavaScript Object NotationJavaScript对象标记法var p={"name":"张三","age":23,"gender":"男"}; json现在多用于存储和交换文本信息的语法......
  • Winform自定义dataGridView
     dataGridView中的自定义表格属性:{width:控件宽度HeaderText:头列名,显示在表的最顶行的文字。Name:列名,通过Name找到这个列的代号。}在这里默认定义成:DataGridVie......
  • Vue3 + Socket.io + Knex + TypeScript 实现可以私聊的聊天室
    前言下文只在介绍实现的核心代码,没有涉及到具体的实现细节,如果感兴趣可以往下看,在文章最后贴上了仓库地址。项目采用前后端模式,前端使用Vite+Vue3+TS;后端使用Knex+......