Hegel 作为 JavaScript 类型检查器中的新秀,励志要成为最好的 JavaScript 静态类型检查器。它宣称提供了一个具备强类型推断的可靠的类型系统。目前 Hegel 还在 alpha 测试阶段,大家可以在其提供的 专用在线
Hegel 是一个类型注解可选的 JavaScript 类型检查器,同时它和 TypeScript 一样,使用者不需要重新学习一门新的语言结构,只需要掌握注解的语法。Hegel 希望通过强大的、稳定的类型系统,尽量避免程序在运行时由于类型错误产生的异常。下面的代码展示了其强大的类型检查能力:
他们在相互赋值的时候,属于引用赋值。因此 numbersOrStrings 修改元素内容的时候,对 numbers 也同样有效果。所以在执行 numbers[1].toFixed(1) 时候,就会报错,因为字符串没有 toFixed 函数。上面的代码体现了 Hegel 可靠的类型系统。
除了可靠的类型系统,健壮的类型推断也是 Hegel 的主要设计目标。示例代码如下:
时,TS 会识别3 个异常,同时会将变量 result
推断为 Promise
类型。 因此健壮的类型推断允许开发人员尽量少的编写代码注释,这样反而更有利于代码的可读性。
Hegel 将异常也纳入了类型检查中,示例代码如下:
除了支持标准类型(基础类型、函数、对象、类、数组)之外,Hegel 的类型系统还支持了未知类型(例如由 JSON.parse() 返回的类型)、可选类型、联合类型、元祖类型、类型别名、泛类型和可变类型。这也是 Hegel 的特性之一。
可变类型可以帮助我们从现有类型提取或者创建新类型。因此,可变类型可以理解为从一个类型生成另一个类型的函数。Hegel 发布在 npm 上,提供了一个命令行工具和 一个可交互的在线体验区
提供了对应的安装命令,要求 node.js 最低版本为 12。
Hegel 是基于 MIT 协议的。欢迎大家在该项目的 GitHub 上进行反馈和贡献。另外,Hegel 的作者也声明:
Hegel 源于社区,奉献社区;因此,你的任何 PRs 和 issues 都不会被忽略和遗忘。
golang快速入门[2.2]-go语言开发环境配置-macOS