探究typescript类型元编程

时间:2020-7-29 作者:admin

typescript的类型编程是什么?

大家在平时写typescript的代码时,用到的最多功能应该是它的类型标注,给变量加上类型约束,一方面是方便自己的编码,避免明显的bug,另外一方面是增强了代码的可读性。因为js语言的灵活性比较高,typescript的类型系统也被设计得比较强大,甚至强大到可以单独作为一门编程语言。下面的内容就是论证了typescript的类型系统确实可以作为一门编程语言,并用typescript的类型系统实现了四则运算。

为什么要介绍typescript的类型元编程?

typescirpt的类型元编程属于奇技淫巧,在日常工作中很难会用到,没什么卵用。但是了解这方面可以帮助扩展视野,加深对typescript类型系统的理解,此外也能够让我们了解到编程语言的本质。

一. 图灵完备

为了讲解图灵完备,需要介绍一下图灵机的概念,但是为了降低门槛,这里先来讲解最简单的计算模型:有限状态自动机。

有限状态自动机

有限自动机可以理解为一个理论上的机器,它由一个有限的内部状态集和一组控制规则组成。在给定输入字符串的情况下,它会根据事先制定好的控制规则来自动运行(这就是自动机的由来嘛),具体来讲,自动机在每步运行时,会按照字符串的顺序读入一个字符,然后根据当前读入的字符和当前的状态,来决定转向哪个状态,至于具体转向哪个状态则由控制规则来确定。

下面的图解能够大概描述自动机的运行过程

探究typescript类型元编程

声明:本文内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎进行举报,并提供相关证据,工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。