2024-07-08 编程与类型系统11 Ts学习 学习 高阶类型和其他函子:函子是执行映射操作的函数的推广。对于任何泛型类型,以Box<T>为例,如果map()操作接受一个Box<T>和一个从 T 到 U 的函数作为实参,并得到一个Box<U>,那么该map(
2024-07-05 编程与类型系统10 Ts学习 学习 泛型算法和迭代器迭代器实现的map()、 filter()、 reduce() map() 12345678function* map<T, U>( value: Iterable<T>, func: (valu
2024-07-04 编程与类型系统09 Ts学习 学习 泛型数据结构解耦关注点类型参数:类型参数是一个泛型名称的标识符,用作客户端在创建泛型实例时指定的具体类型的占位符。 12345678910type TransformFunc = (value: number) => number;t
2024-07-03 编程与类型系统08 Ts学习 学习 面向对象编程的元素面向对象编程(Object-Oriented Programming,OOP):OOP 是基于对象的概念的一种编程范式,对象可以包含数据和代码。数据是对象的状态,代码是一个或多个方法,也叫作“消息”。在面向对象系统中,通过
2024-07-02 编程与类型系统07 Ts学习 学习 子类型子类型:如果在期望类型 T 的实例的任何地方,都可以安全地使用类型 S 的实例,那么称类型 S 是类型 T 的子类型。 名义和结构子类型:在名义子类型中,如果显式声明一个类型是另一个类型的子类型,则二者构成子类型关系。在结构子类型中,
2024-07-01 编程与类型系统06 Ts学习 学习 函数类型高级应用装饰器模式装饰器模式是一个简单的行为软件设计模式,可扩展对象的行为,而不必修改对象的类。装饰的对象可以执行其原始实现没有提供的功能。 class 装饰器: 1234567891011121314151617181920212
2024-06-29 编程与类型系统05 Ts学习 学习 函数类型策略模式策略设计模式是一种行为软件设计模式,允许在运行时从一组算法中选择某个算法。它把算法与使用算法的组件解耦,从而提高了整个系统的灵活性。 函数的类型 函数类型或签名:函数的实参类型和返回类型决定了函数的类型。如果两个函数接受相同
2024-06-28 编程与类型系统04 Ts学习 学习 添加类型信息类型转换类型转换将一个表达式的类型转换为另一个类型。每个编程语言都制定了自己的规则,决定哪些转换是合法的,哪些是不合法的,哪些能够由编译器自动完成,哪些必须使用额外的代码来完成 显式类型转换允许我们告诉编译器将某个值视为特定的类
2024-06-26 编程与类型系统03 Ts学习 学习 复合类型元组 元组类型:元组类型由一组类型构成,通过它们在元组中的位置可以访问这些组成类型。元组提供了一种特殊的组数据的方式,允许我们将不同类型的多个值作为一个值进行传递。 基本元组类型: 12345type Point = [numbe
2024-06-24 编程与类型系统01 Ts学习 学习 为什么需要类型在底层的硬件和机器代码级别,程序逻辑(代码)及其操作的数据是用位来展示的。在这个级别,代码和数据没有区别,所以当系统误将代码当成数据,或将数据当成代码时,就很容易发生错误。这些错误可能导致系统崩溃,也可能导致严重的安全漏洞,攻