在 JavaScript 中,不返回任何值的函数将隐式返回 undefined 值。 但是,在 TypeScript 中 void 和 undefined 不是一回事。

函数的 void 返回类型可能会产生一些不寻常但预期的行为。

返回类型为 void 的上下文类型不会强制函数不返回某些内容。 另一种说法是具有 void 返回类型(类型 vf = () => void)的上下文函数类型,在实现时,可以返回任何其他值,但会被忽略。

type voidFunc = () => void;const f1: voidFunc = () => {return true;
};const f2: voidFunc = () => true;const f3: voidFunc = function () {return true;
};

这些函数的实现体里确实返回了数据,但是被忽略了。

但是我测试发现,这些 voidFunc 函数体内返回的数据,仍然可以被消费者接收到:

和这篇帮助文档里介绍的不一致:

更多Jerry的原创文章,尽在:“汪子熙”:

TypeScript void 和 undefined 的区别相关推荐

  1. 【小程序】【Tips】image 组件中 null 和 undefined 的区别和对策

    image 组件我们经常用到,有时候image是没有加载,有时候是本来定义没有,一个是null,一个是undefined ,两者有什么区别呢? <image wx:if="{{note ...

  2. js的基本类型有哪些?引用类型有哪些?(二)------null和undefined的区别

    null和undefined的区别 1.类型的区别 console.log(typeof(undefined));//undefined console.log(typeof(null));//obj ...

  3. 第一讲javascript入门(js的组成、事件类型、嵌入方式、注释方式、输出方式、变量类型 、变量命名规则、字符串转义符、算术运算符、数据类型转换、null和undefined的区别)

    目录 理论: JavaScript是什么 js的组成 二.JavaScript引入方式 1.嵌入式 2.外部引入 事件定义 三.JavaScript注释方式 1.单行注释 2.多行注释 四.JavaS ...

  4. null 和undefined的区别,以及undefined和undeclared的区别

    null 和undefined的区别,以及undefined和undeclared的区别 首先undefined是指声明一个变量但是没有对他初始化,则此变量为undefined.比如: let c ; ...

  5. TypeScript中type和interface区别

    typescript中interface介绍:TypeScript 中的接口 interface_疆~的博客-CSDN博客通常使用接口(Interface)来定义对象的类型.https://blog. ...

  6. js中null和undefined的区别

    在JavaScript开发中,被人问到:null与undefined到底有啥区别? 一时间不好回答,特别是undefined,因为这涉及到undefined的实现原理. 总所周知:null == un ...

  7. int main()和void main()有什么区别

    其实main也是一个函数: #include<stdio.h> void main(){} 如上代码所示,void main() 这样定义只是说明main函数没有返回值. #include ...

  8. Javascript 中 null、NaN和undefined的区别

    1.类型分析: js中的数据类型有undefined,boolean,number,string,object等5种,前4种为原始类型,第5种为引用类型. 代码 var a1; var a2 = tr ...

  9. null 与 undefined 的区别

    [转自阮一峰]www.ruanyifeng.com/blog/2014/0- null 表示没有对象: 即此处不应该有值 用途为: 作为函数的参数表示该函数的参数不是对象 作为对象原型链的终点 代码为 ...

最新文章

  1. 微软职位内部推荐-Senior Software Engineer
  2. Halcon—Tuple中符号的含义
  3. 随机过程及其在金融领域中的应用 第三章 习题 及 答案
  4. 【BZOJ4129】Haruna’s Breakfast,树上带修莫队+权值分块求mex
  5. css3 复合选择器,CSS复合选择器
  6. 3维两点间的距离 js_高考必刷题4:球面上任意两点间距离的计算
  7. 对数几率回归(Logistic Regression)
  8. RPGMAKER游戏引擎基于JavaScript的插件制作(一)——前期准备以及RPGMAKER内建逻辑
  9. java string 深拷贝_探讨java深拷贝
  10. 小学教育怎么选择特别容易写的论文选题?
  11. Win11打不开安全中心怎么解决
  12. 自己搭建的IC618开发环境
  13. 开篇词:为什什么要学习 Spring Boot
  14. 【LDA】动手实现LDA
  15. 百度地图 key_百度地址智能解析amp;百度地图更新
  16. 北京内推 | 字节跳动AML机器学习系统团队招聘机器学习训练框架研发实习生
  17. 互联网下半场,为什么公司和个人都追捧“增长黑客”?
  18. 福布斯2010年富豪榜中国上榜富豪
  19. 【千里之行,始于足下】大数据高频面试题——数据仓库篇(一)
  20. C/C++自助攒机系统

热门文章

  1. VeeValidate 的使用场景以及配置
  2. Spring+ Spring cloud + SSO单点登录应用认证
  3. Windows10系统安装 .NET Framework 3.5
  4. 如何正确的在一个循环中删除ArrayList中的元素。
  5. github的一些简单用法
  6. abap中的弹出窗体函数
  7. puppet kick 功能实现
  8. 什么是编译型和解释型语言?
  9. 方立勋_30天掌握JavaWeb_自定义标签
  10. 互联网支付系统概要设计