TypeScript完全解读百度云

别说谁变了你拦得住时间么 提交于 2020-05-02 20:23:50

原文配套视频资源获取链接:点击获取

原文配套源码资源获取链接:点击获取

课程大纲:

1.搭建开发环境

  • (1) 前端开发环境
  • (2) Node服务端开发环境

2.基础类型

  • (1)布尔值
  • (2)数值
  • (3)字符串
  • (4)数组
  • (5)元组
  • (6)枚举
  • (7)any
  • (8)void
  • (9)null和undefined
  • (10)never
  • (11)object
  • (12)类型断言

3.【赠课】ES6精讲 - Symbol

  • (1)基础
  • (2)作为属性名
  • (3)属性名的遍历
  • (4)Symbol.for和Symbol.keyFor

4.接口

  • (1)基本用法
  • (2)可选属性
  • (3)多余属性检查
  • (4)绕开多余属性检查
  • (5)只读属性
  • (6)函数类型
  • (7)索引类型
  • (8)继承接口
  • (9)混合类型接口

5.函数

  • (1)函数类型

    • i.为函数定义类型
    • ii.完整的函数类型
    • iii.使用接口定义函数类型
    • iv.使用类型别名
  • (2)参数

    • i.可选参数
    • ii.默认参数
    • iii.剩余参数
  • (3)重载

6.泛型

  • (1)基本用法
  • (2)泛型变量
  • (3)泛型类型
  • (4)泛型约束
  • (5)在泛型约束中使用类型参数

7.【赠课】ES6精讲 - 类Class基础

  • (1)实现创建实例
  • (2)constructor方法
  • (3)类的实例
  • (4)取值函数和存值函数
  • (5)class表达式
  • (6)静态方法
  • (7)实例属性其他写法
  • (8)静态属性
  • (9)私有方法
  • (10)私有属性
  • (11)new.target属性

8.【赠课】ES6精讲 - 类Class继承

  • (1)ES5中的继承
  • (2)ES6中类的继承
  • (3)Object.getPrototypeOf
  • (4)super

    • i.作为函数
    • ii.作为对象
  • (5)类的prototype属性和__proto__属性
  • (6)原生构造函数的继承

9.TS中的类

  • (1)基础
  • (2)修饰符

    • i.public
    • ii.private
    • iii.protected
  • (3)readonly修饰符
  • (4)参数属性
  • (5)静态属性
  • (6)可选类属性
  • (7)存取器
  • (8)抽象类
  • (9)实例类型
  • (10)对前面跳过知识的补充

    • i.类类型接口
    • ii.接口继承类
    • iii.在泛型中使用类类型

10.枚举

  • (1)数字枚举
  • (2)反向映射
  • (3)字符串枚举
  • (4)异构枚举
  • (5)枚举成员类型和联合枚举类型
  • (6)运行时的枚举
  • (7)const enum

11.类型推论和兼容性

  • (1)类型推论

    • i.基础
    • ii.多类型推论
    • iii.上下文类型
  • (2)类型兼容性

    • i.基础
    • ii.函数兼容性

      • 1.函数参数个数
      • 2.函数参数类型
      • 3.函数返回值类型
      • 4.可选参数和剩余参数
      • 5.函数参数双向协变
      • 6.函数重载
    • iii.枚举兼容性
    • iv.类兼容性
    • v.泛型兼容性

12.高级类型 - 1

  • (1)交叉类型
  • (2)联合类型
  • (3)unknown
  • (4)类型保护

    • i.自定义类型保护
    • ii.typeof类型保护
    • iii.instanceof类型保护
  • (5)null和undefined

    • i.严格模式
    • ii.可选参数和可选属性
  • (6)类型保护和类型断言
  • (7)类型别名
  • (8)字面量类型

    • i.字符串字面量类型
    • ii.数字字面量类型
  • (9)可辨识联合

    • i.利用strictNullChecks
    • ii.使用never类型

13.高级类型 - 2

  • (1)this类型
  • (2)索引类型

    • i.索引类型查询操作符
    • ii.索引访问操作符
  • (3)映射类型

    • i.基础
    • ii.由映射类型进行推断
    • iii.增加或移除特定修饰符
    • iv.keyof和映射类型在2.9的升级
    • v.元组和数组上的映射类型
  • (4)条件类型

    • i.基础
    • ii.分布式条件类型
    • iii.条件类型的类型推断
    • iv.TS预定义条件类型

14.【赠课】ES6和Node.js中的模块

  • (1)ES6的模块

    • i.export
    • ii.import
    • iii.export default
    • iv.import和export的复合写法
    • v.import()
  • (2)Node.js的模块

    • i.exports
    • ii.module.exports

15.模块和命名空间

  • (1)模块

    • i.export
    • ii.import
    • iii.export default
    • iv.export =和import xx = require()
  • (2)命名空间

    • i.定义和使用
    • ii.拆分为多个文件
  • (3)别名
  • (4)模块解析

    • i.相对和非相对模块导入
    • ii.模块解析策略

      • 1.Classic模块解析策略]
      • 2.Node模块解析策略
    • iii.模块解析配置项

      • 1.baseUrl
      • 2.paths
      • 3.rootDirs
      • 4.traceResolution
      • 5.noResolve

16.声明合并

  • (1)补充知识
  • (2)合并接口
  • (3)合并命名空间
  • (4)不同类型合并

    • i.命名空间和函数
    • ii.命名空间和枚举

17.装饰器

  • (a)基础

    • i.装饰器定义
    • ii.装饰器工厂
    • iii.装饰器组合
    • iv.装饰器求值
  • (b)类装饰器
  • (c)方法装饰器
  • (d)访问器装饰器
  • (e)属性装饰器
  • (f)参数装饰器

18.Mixins

19.其他重要更新

  • (1)async异步函数以及Promise
  • (2)tsconfig.json支持注释
  • (3)动态导入表达式
  • (4)弱类型探测
  • (5)对 ... 操作符的更新

20.声明文件

  • (1)识别已有JS库的类型

    • i.全局库
    • ii.模块化库
    • iii.UMD库
  • (2)处理库声明文件

    • i.模块插件或UMD插件
    • ii全局插件
    • iii.修改全局的模块
    • iv.使用依赖
    • v.快捷外部模块声明

21.tsconfig.json配置详解

二、实践

22.封装并发布一个库

23.为第三方库写声明文件

24.TS+NodeJS+Express搭建后端服务

  • (1)搭建项目基础
  • (2)使用jade模板渲染页面
  • (3)使用mysql数据库
  • (4)实现注册/登录
  • (5)实现文件上传

25.TS+Vue开发一个Todo应用

  • (1)使用Vue-Cli3搭建项目
  • (2)实现逻辑
  • (3)优化样式

26.使用TS封装并发布一个Vue组件

原文配套视频资源获取链接:点击获取

原文配套源码资源获取链接:点击获取

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!