学习课程名称:2小时极速入门 TypeScript
章节名称:TypeScript 面对对象
讲师姓名:阿莱克斯刘
课程内容概述:
- object对象类型
- Interface 接口
- class 类
- Access Modifier 访问修饰符
- Module 模块
- Generics 泛型
object对象类型
object 表示非原始类型,也就是除 number、string、boolean、symbol、bigInt、null 或 undefined 之外的类型。
TypeScript 可以根据属性的值推断属性的类型。
Interface 接口
在 TypeScript 里,接口的作用就是为这些类型命名和为你的代码或第三方代码定义契约。
接口(interface)是最常用的类型标注方式。
class 类
公共属性的修饰符:
public:公共,私有与受保护的修饰符,默认修饰符,外部和内部都能使用
private:私有的,只能内部类用,外部不能读写
protected:派生类(子类)可访问
readonly:外部只能读不能写
static:静态属性或静态方法
Access Modifier 访问修饰符
public:默认都为公开的 public
private:不能直接访问 private 修饰的内容
getter 方法以关键字 get 开头
setter 方法以关键字 set 开头
protected:和 private 类似,但是,protected 修饰的内容在派生类中可以访问
Module 模块
JavaScript 在处理模块化代码方面有着悠久的历史。 TypeScript 自 2012 年问世以来,已经实现了对许多这些格式的支持,但随着时间的推移,社区和 JavaScript 规范已经融合到一种称为 ES 模块(或 ES6 模块)的格式上。 您可能知道它是 import/export 语法。
ES Modules 于 2015 年添加到 JavaScript 规范中,到 2020 年在大多数 Web 浏览器和 JavaScript 运行时中得到广泛支持。
Generics 泛型
Generics(泛型)指的是泛指的类型,即可以是任何类型。
作用:使用泛型处理复杂代码,提高灵活性。
泛型指使用时才定义类型,即类型可以像参数一样定义,主要解决类、接口、函数的复用性,让它们可以处理多种类型。
TypeScript 是 JavaScript 的一个超集,提供了类型系统和对ES6的支持,可编译成纯 JavaScript,可以运行在任何浏览器上,TS编译工具也可运行在任何服务器和系统上。
TS的好处:
(1)增强代码的可读性和可维护性,强类型的系统相当于最好的文档,在编译时即可发现大部分的错误,增强编辑器的功能。
(2)包容性,js文件可以直接改成 ts 文件,不定义类型可自动推论类型,可以定义几乎一切类型,ts 编译报错时也可以生成 js 文件,兼容第三方库,即使不是用ts编写的
(3)有活跃的社区,大多数的第三方库都可提供给 ts 的类型定义文件,完全支持 es6 规范
TS 的缺点:
(1)增加学习成本,需要理解接口(Interfaces)和泛型(Generics),类(class),枚举类型(Enums)
(2)短期增加开发成本,增加类型定义,但减少维护成本
(3)ts 集成到构建流程需要一定的工作量
(4)和有些库结合时不是很完美