TypeScript完全解读

适用人群

  • 对TS零基础,有基本JS基础的开发者
  • 对TS有简单了解没有深入详细学习的开发者
  • 想学习TS并投入到实际开发中的入门开发者
  • 有JS前后端开发经验,并想结合TS进行开发的开发者

课程简介

前言

      TypeScript在2018年势头迅猛,三大主流前端框架中,Angular和React开始就是使用TS编写的源码,而Vue3.0将使用TS重写,重写后的Vue3.0将更好的支持TS,届时三大框架都可以很好的支持开发者使用TS开发。而现在几乎所有第三方JS库都有开源社区为之书写TS声明文件,所以即便是旧的项目也能够逐步过渡到TS开发。越来越多的库开始使用TS重写,越来越多的开源工具诸如VSCode等源码都用TS书写。2019年TypeScript将会更加普及,国内各大互联网公司,和中小型团队都开始尝试使用TS开发项目,TS也将会成为面试官喜欢提及的内容,能够熟练掌握TS,并使用TS开发过项目,将会为你的面试加分。

      本套课程包含两大部分,第一部分是基础部分,也是重要部分,参考TS官方文档结构,针对内容之间的关联性和前后顺序进行合理调整。所讲内容基本覆盖TS所包含的所有内容,但是不是对文档的照搬,对一些不好理解,而文档中一句带过的内容,补充具体的示例,帮助大家理解;对于一些滞后的文档内容和一些错误示例进行修正,并将后面更新的新特性穿插到对应章节;在讲解基础知识的同时,穿插一些实际开发中的经验,帮助大家理解学习。第二部分实践部分,通过5种常见项目类型进行实际操练,将基础知识融入到实际场景中进行运用,帮助大家理解基础知识的实际使用场景,对学习和开发有重要帮助。

讲师其他课程

《Vue技术栈开发实战(26课时)》: https://segmentfault.com/ls/1...

课程大纲:

1.搭建开发环境

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)实现文件上传

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

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

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

购买须知:
1、本课程为虚拟产品,一经购买,概不退款(讲师特别声明除外)
2、在使用过程中,遇到任何问题,请邮件联系:pr@sifou.com
3、划线价说明:商品展示的划横线价格为参考价,并非原价。该价格仅供您参考。

版权声明:讲者在本产品上发表的全部原创内容(包括但不限于文字、视频、图片等)著作权均归讲师本人所有。未经讲师授权许可,观众用户不得以任何载体或形式使用讲师的内容。

5.0 12条评价

Sunny · 2019-03-11

Lison 精品课程,强烈推荐一下

周公微信开发 · 2019-03-11

老师的课程一直都是精品中的精品,讲解细致入微,从实际开发入手,厚道