TypeScript

TypeScript是一种开源的面向对象的编程语言。TypeScript是在2012年10月1日推出的。它在语法上沿用了JavaScript,但在其基础上增加了更多的功能。它是JavaScript的一个超集。它是由微软在Apache 2的许可下推出和维护的。它不直接在浏览器上运行,需要一个编译器来编译和生成TypeScript文件。

Flow

Flow是由Facebook开发和维护的。它是一个静态类型检查器,旨在快速找到JavaScript应用程序中的错误。仅此而已,别无他求。它不是一个编译器,而是一个检查器。它可以在没有任何类型的注释的情况下工作,而且它在推断类型方面非常出色。要在flow中启用类型检查,请在文件的顶部添加//@flow。它在本地检查类型,不像TypeScript那样有一个语言服务器或类型定义。

Flow和TypeScript的区别 :

编号 Flow TypeScript
1 Flow是由Facebook在2014年开发的。 TypeScript是由微软在2012年开发的。
2 Flow的主要特点是精确性、实时反馈、易于集成、可靠性、速度、高吞吐量、路径敏感性、低延迟、类型推理、易于理解的JavaScript模式。 Typescript的主要特点是:编译时类型检查、枚举类型、接口、命名空间、类型注释、类型清除、类型推理、通用、图元。
3 Flow的实用程序大小为68.4 MB。 TypeScript其实用程序大小为42.4 MB。
4 Flow是在React上工作的最佳选择,因为它很容易与babel和已经存在的基础设施集成。 当在Angular 2或更高版本上工作时,TypeScript是最好的选择。
5 Flow并不真正支持封装。 自TypeScript 2.0以来,TypeScript支持用public、private、protected修改器和readonly进行封装。
6 Flow只被React支持。 TypeScript要好得多,因为它支持主要的前端框架,如Vue、Angular和Facebook自己的React。
7 Flow支持非常少的库。 TypeScript支持许多库。
8 在提供静态类型的同时,它还为我们提供了广泛的程序间分析,并对我们的代码进行了深入的了解。 在提供静态类型的同时,TypeScript还为我们提供了很好的语言服务和适当的工具,包括代码重构、导航和自动完成。