讲师简介:iview 核心开发者,iview-admin 作者,百万级虚拟渲染表格组件 vue-bigdata-table 作者。目前就职于知名互联网公司,对 Vue 技术栈项目开发有深刻见解,关注团队协作项目开发最佳实践。课程链接: https://segmentfault.com/ls/1…前言:      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种常见项目类型进行实际操练,将基础知识融入到实际场景中进行运用,帮助大家理解基础知识的实际使用场景,对学习和开发有重要帮助。课程重要说明:      本课程持续更新,基础部分每周一更新3节,周二至周五每天更新1节,每日更新时间以视频通过审核时间为准;基础部分21课时更新完一周后开始更新实战部分课程,每周更新2节。课程答疑群:      购买课程后可以进入本课程答疑群,学习中有任何问题和建议可在群里交流,点击!!这里!!扫码进群,进群有如下福利:学习中的任何问题,都可以在群里得到答案本课程录制时TS最新版本为3.3,TS的后续更新,答疑群内都会及时讲解,以文档或视频方式讲解最新TS的更新内容,一套课程,终身学习后续购课永享8折优惠,群内永久分享Lison其他课程优惠购课地址更多其他福利课程面向群体:对TS零基础,有基本JS基础的开发者对TS有简单了解没有深入详细学习的开发者想学习TS并投入到实际开发中的入门开发者有JS前后端开发经验,并想结合TS进行开发的开发者课程大纲: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.keyFor4.接口(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)superi.作为函数ii.作为对象(5)类的prototype属性和__proto__属性(6)原生构造函数的继承9.TS中的类(1)基础(2)修饰符i.publicii.privateiii.protected(3)readonly修饰符(4)参数属性(5)静态属性(6)可选类属性(7)存取器(8)抽象类(9)实例类型(10)对前面跳过知识的补充i.类类型接口ii.接口继承类iii.在泛型中使用类类型10.枚举(1)数字枚举(2)反向映射(3)字符串枚举(4)异构枚举(5)枚举成员类型和联合枚举类型(6)运行时的枚举(7)const enum11.类型推论和兼容性(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和undefinedi.严格模式ii.可选参数和可选属性(6)类型保护和类型断言(7)类型别名(8)字面量类型i.字符串字面量类型ii.数字字面量类型(9)可辨识联合i.利用strictNullChecksii.使用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.exportii.importiii.export defaultiv.import和export的复合写法v.import()(2)Node.js的模块i.exportsii.module.exports15.模块和命名空间(1)模块i.exportii.importiii.export defaultiv.export =和import xx = require()(2)命名空间i.定义和使用ii.拆分为多个文件(3)别名(4)模块解析i.相对和非相对模块导入ii.模块解析策略1.Classic模块解析策略]2.Node模块解析策略iii.模块解析配置项1.baseUrl2.paths3.rootDirs4.traceResolution5.noResolve16.声明合并(1)补充知识(2)合并接口(3)合并命名空间(4)不同类型合并i.命名空间和函数ii.命名空间和枚举17.装饰器(a)基础i.装饰器定义ii.装饰器工厂iii.装饰器组合iv.装饰器求值(b)类装饰器(c)方法装饰器(d)访问器装饰器(e)属性装饰器(f)参数装饰器18.Mixins19.其他重要更新(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组件