Jest DoneCallback 数据类型的理解
我在学习 jest 框架的 beforeEach 方法时,注意到其接受的输入参数 fn 的类型为 jest.ProvidesCallback:
该参数的类型 ProvidesCallback,本身是一个函数,返回任意类型,该函数的输入参数为 DoneCallback:
type ProvidesCallback = (cb: DoneCallback) => any;
DoneCallback 的定义如下:
interface DoneCallback {(...args: any[]): any;fail(error?: string | { message: string }): any;}
DoneCallback 本身是一个函数,接收任意类型,任意数量的参数,返回任意类型:
(…args: any[]): any;
同时,该类型还包括一个 fail 字段,该字段也指向一个函数,输入参数为 string.
如果定义一个类型为 DoneCallback 的变量?参考如下代码:
interface DoneCallback {(...args: any[]): any;fail?(error?: string | { message: string }): any;}var a: DoneCallback = (error) => error; a.fail = (error) => error;console.log(a(1));console.log(a.fail('Jerry'));
更多Jerry的原创文章,尽在:“汪子熙”:
Jest DoneCallback 数据类型的理解相关推荐
- 负数转换为无符号数据类型的理解及应用
负数转换为无符号类型数据的理解及应用 负数转换为无符号数据类型的理解及应用 有符号整型和无符号整型的转换 有符号类型和无符号类型的转换应用实例 参考文献 负数转换为无符号数据类型的理解及应用 网上有大 ...
- 数据库数据类型decimal理解
MySQL DECIMAL数据类型用于在数据库中存储精确的数值. 例如语法:column_name DECIMAL(P,D) 其中P表示的是有效数字的位数,D表示是小数的位数,D小于或等于P. 理解可 ...
- C++数据类型 浅显理解
为解决不同类型问题,C++中的数据类型产生了.数据类型分为基本类型和自定义类型. 关于数据类型的分类不尽相同,这里选取了下面这种: 基本类型:整型(int).字符型(char).布尔型(bool(注意 ...
- Java数据类型-加强理解示例:国王的麦子
在上一篇数据类型中,我们了解的数据类型的种类,这一篇文章是为了加深理解而专开的. [目的]:认识到数据类型的重要性 文章目录 使用int型 使用long类型 使用float类型 使用double类型 ...
- java数据类型怎样理解_深入理解Java之数据类型
一.概述 我们通过编程解决一个具体问题时,首先要做的工作是用各种"数据结构"表示问题中的实体对象,而后才能着手研究描述具体业务逻辑的算法.这也正印证了"程序 = 数据结构 ...
- char数据类型 代码理解
(个人理解,有误请指正) 本文采用c语言进行编译,printf打印时需要强制选择打印的类型,能帮助大家更好的进行理解. char类型我个人倾向于理解成一个有着存储范围的int类型来理解. 单个字符 对 ...
- 数据库数据类型decimal理解【记录】
一.MYSQL数据类型DECIMAL用法: 1.DECIMAL是MySQL中存在的精准数据类型,以字符串的形式保存精确的原始数值,而float,double则是非精准类型,在DB中保存的是近似值. 例 ...
- 深入理解数据类型、变量类型属性、内存四区和指针
数据类型可理解为创建变量的模具(模子):是固定内存大小的别名. 数据类型的作用:编译器预算对象(变量)分配的内存空间大小. 既能读又能写的内存对象,称为变量:若一旦初始化后不能修改的对象则称为常量. ...
- 理解Java自定义类作为数据类型——引用数据类型
目录 说在前面的话 复现问题 引用数据类型的理解 总结 说在前面的话 前言:Java的数据类型按照类型可分为基本数据类型(byte.short.int.long.double.float.char.b ...
最新文章
- WeakHahMap,HashMap和(垃圾回收)Gc
- AcWing算法提高课 Level-3 第二章 搜索
- 在Linux上安装nginx时遇到的问题,真的好坑啊!!!!
- python在职场的用处大吗_Python未来发展怎么样,未来办公是否都需要精通Python?...
- python redis模块connectionerror_ConnectionError:Error 2连接到Python/Django Redis中的unix套接字...
- jdk、cglib动态代理代码示例
- 【Vue案例一】实现跑马灯效果
- matlab log函数
- 群晖J3455安装DS3617xs 6.2.3折腾教程
- 【5G核心网】5GC核心网之网元UDR
- 计算机中安装音乐软件是一种,电脑必装的八款软件,你装了吗?
- 纪念日该给女朋友送什么礼物?
- 小数位数修约,四舍六入五成双
- goaheadlinux移植_goahead(嵌入式Web服务器)之交叉编译、移植篇
- 专升本英语——语法知识——基础语法——第三节 形容词、副词及其比较级【学习笔记】
- [Power Query] 删除重复项
- Pytorch创建自己的数据集(图像分割)
- 云服务器deeplearning_吴恩达deeplearning.ai将于11月6日开放第四课,主讲卷积神经网络...
- 炫酷的表白烟花 html+css+js实现的表白烟花特效(程序员专属情人节表白网站)
- QMT vs Ptrade 速度对比 (一) 历史行情获取速度
热门文章
- 新疆尉犁县境内塔克拉玛干沙漠雪景美如画
- laravel 缓存相关常用操作
- 感觉要火!妹子实地采访网易猪厂程序员七夕怎么过
- 【352天】我爱刷题系列111(2018.01.23)
- Flash Builder 找不到所需的 Adobe Flash Player
- Android开发者指南(4) —— Application Fundamentals(二)
- ACM 2017 ACM-ICPC 亚洲区(南宁赛区)网络赛 B. Train Seats Reservation
- Java基础知识(二)之控制语句
- xss 表单劫持(from通用明文记录)
- Java语法糖1:可变长度参数以及foreach循环原理