use recursion instead of iteration
使用递归而不是迭代
in TypeScript 4.5 we have tail call optimized recursion (to some extent)
在 TypeScript 4.5 中,我们有尾部调用优化递归(在某种程度上)
types (data) are immutable
类型(数据)是不可变的
如果我们想修改类型的一部分,我们必须将现有的类型转换为新类型。在类型语言中,迭代数据结构(即对象类型)和均匀应用转换的细节被映射类型抽象出来。我们可以使用它来实现在概念上类似于 JavaScript 中的映射和过滤数组方法的操作。
当我开始将TypeScript中的类型语言视为一种成熟的编程语言时,我意识到它甚至具有函数式编程语言的一些特征: