图书目录

目录

第1章?认识TypeScript

1.1?什么是TypeScript

1.2 为什么要学习TypeScript

1.2.1 TypeScript与JavaScript对比有什么优势

1.2.2 TypeScript给前端开发带来的好处

1.3 安装TypeScript

1.3.1 Node.js的安装

1.3.2 Visual Studio Code的安装

1.4 第一个TypeScript程序

1.5 就业面试技巧与解析

1.5.1 面试技巧与解析(一)

1.5.2 面试技巧与解析(二)

第2章?TypeScript基本语法

2.1 TypeScript编程术语

2.2 TypeScript基本语法

2.3 TypeScript数据类型

2.3.1 数字类型

2.3.2 字符串类型

2.3.3 布尔类型

2.3.4 未定义类型和空类型

2.3.5 枚举类型

2.3.6 任意值类型

2.3.7 数组类型

2.3.8 元组类型

2.3.9 never类型

2.3.10 Symbol类型

2.3.11 字面量类型、联合类型、类型断言

2.4 TypeScript运算符

2.4.1 算术运算符

2.4.2 逻辑运算符

2.4.3 关系运算符

2.4.4 按位运算符

2.4.5 赋值运算符、类型运算符

2.5 TypeScript控制语句

2.5.1 条件语句

2.5.2 循环语句

2.5.3 跳转语句

2.6 就业面试技巧与解析

2.6.1 面试技巧与解析(一)

2.6.2 面试技巧与解析(二)

第3章?TypeScript进阶

3.1 条件类型

3.2 函数类型

3.2.1 函数声明

3.2.2 函数参数

3.2.3 函数重载

3.3 对象类型

3.3.1 对象类型的定义

3.3.2 对象的属性

3.4?泛型中的extends/keyof

3.5 映射类型

3.5.1 索引签名

3.5.2 映射类型的实现

3.6 类型收窄

3.7 类的使用

3.7.1 类的定义

3.7.2 类的继承

3.7.3 访问类型

3.7.4 getter和setter

3.8 抽象类

3.9 就业面试技巧与解析

3.9.1 面试技巧与解析(一)

3.9.2 面试技巧与解析(二)

第4章?深入了解函数和类

4.1 函  数

4.1.1 匿名函数的定义和调用

4.1.2 构造函数

4.1.3 箭头函数

4.1.4 构造签名和签名调用

4.1.5 函数的别名

4.1.6 this、call、bind、apply

4.2 类的进阶

4.2.1 面向对象编程基础

4.2.2 封装与抽象

4.2.3 对象继承

4.2.4 多重继承

4.2.5 方法的重载与重写

4.2.6 多态

4.3 就业面试技巧与解析

4.3.1 面试技巧与解析(一)

4.3.2 面试技巧与解析(二)

第5章?使用数组和泛型

5.1 TypeScript接口

5.1.1 创建和使用接口

5.1.2 扩展其他类型

5.1.3 接口的索引签名

5.2 使用泛型

5.2.1 理解泛型

5.2.2 创建自己的泛型类型

5.2.3 创建泛型函数

5.2.4 使用泛型创建条件类型

5.2.5 高阶条件类型用例

5.3 使用数组

5.3.1 数组的访问

5.3.2 数组的更新和删除

5.4 使用元组

5.4.1 元组的访问

5.4.2 元组操作

5.4.3 元组解构

5.5 就业面试技巧与解析

5.5.1 面试技巧与解析(一)

5.5.2 面试技巧与解析(二)

第6章?使用TypeScript和JavaScript组合开发项目

6.1 类型定义文件

6.1.1 了解类型定义文件

6.1.2 类型定义文件与IDE

6.1.3 shim与类型定义

6.1.4 创建自己的类型定义文件

6.2 使用JavaScript库的TypeScript应用程序示例

6.3 在JavaScript项目中使用TypeScript

6.4 就业面试技巧与解析

6.4.1 面试技巧与解析(一)

6.4.2 面试技巧与解析(二)

第7章?使用Vue对象、组件与库开发项目

7.1 挂载Vue对象

7.2 操作关联数据

7.2.1 data成员

7.2.2 compued成员

7.2.3 mehods成员

7.2.4 watch成员

7.3 处理生命周期

7.4 Vue组件基础

7.4.1 创建Vue组件

7.4.2 Vue专用组件

7.5 设计Vue组件

7.5.1 面向组件的v-on指令

7.5.2 面向组件的v-model指令

7.5.3 预留组件插槽

7.6 使用现有组件

7.6.1 使用内置组件

7.6.2 引入外部组件

7.7 就业面试技巧与解析

7.7.1 面试技巧与解析(一)

7.7.2 面试技巧与解析(二)

第8章?装饰器与类型的高级应用

8.1 装饰器

8.1.1 装饰器的使用

8.1.2 创建类装饰器

8.1.3 创建属性装饰器

8.1.4 创建方法装饰器

8.1.5 创建参数装饰器

8.1.6 装饰器的执行顺序

8.2 类型保护

8.2.1 instanceof 类型保护

8.2.2 typeof 类型保护

8.2.3 in 类型保护

8.2.4 自定义类型保护

8.2.5 等式收缩类型保护

8.3 就业面试技巧与解析

8.3.1 面试技巧与解析(一)

8.3.2 面试技巧与解析(二)

第9章?开发工具集

9.1 源映射

9.2 TSLint

9.3 使用Webpack绑定代码

9.3.1 使用Webpack绑定JavaScript

9.3.2 使用Webpack绑定TypeScript

9.4 使用Babel编译器

9.4.1 在JavaScript中使用Babel

9.4.2 在TypeScript中使用Babel

9.4.3 在TypeScript与Webpack中使用Babel

9.5 工具介绍

9.5.1 Deno介绍

9.5.2 ncc介绍

9.6 就业面试技巧与解析

9.6.1 面试技巧与解析(一)

9.6.2 面试技巧与解析(二)

第10章?TypeScript高级特性

10.1 技术需求

10.2 使用tsconfig构建面向未来的TypeScript

10.3 TypeScript高级特性简介

10.3.1 借助联合类型使用不同的类型

10.3.2 使用交叉类型组合类型

10.3.3 使用类型别名简化类型声明

10.3.4 使用对象展开赋值属性

10.3.5 使用REST属性解构对象

10.3.6 使用REST处理可变数量的参数

10.3.7 使用装饰器进行AOP

10.3.8 使用混入(mixin)组成类

10.3.9 使用Promise和async/await创建异步代码

10.4 就业面试技巧与解析

10.4.1 面试技巧与解析(一)

10.4.2 面试技巧与解析(二)

第11章?TypeScript配置管理

11.1 编译器

11.1.1 安装编译器

11.1.2 编译程序

11.2 编译选项

11.2.1 编译选项风格

11.2.2 使用编译选项

11.2.3 严格类型检查

11.2.4 编译选项列表

11.3 tsconfig.json

11.3.1 使用配置文件

11.3.2 编译文件列表

11.3.3 声明文件列表

11.3.4 继承配置文件

11.4 工程引用

11.4.1 使用工程引用

11.4.2 工程引用示例

11.4.3 --build

11.4.4 solution模式

11.5 三斜线指令

11.5.1 /// <reference path="" />

11.5.2 /// <reference types=""/>

11.5.3 /// <reference lib="" />

11.6 就业面试技巧与解析

11.6.1 面试技巧与解析(一)

11.6.2 面试技巧与解析(二)

第12章?系统总体架构分层

12.1 TypeScript系统架构分层

12.1.1 核心编译器

12.1.2 独立编译器

12.1.3 语言服务

12.1.4 独立服务器

12.2 系统架构中的核心编译器

12.2.1 扫描器(Scanner)

12.2.2 语法解析器(Parser)

12.2.3 类型联合器(Binder)

12.2.4 类型检查器(Checker)

12.2.5 代码生成器(Emitter)

12.3 系统架构中的数据集成设计

12.3.1 数据物理集中

12.3.2 数据逻辑集中

12.3.3 数据联邦模式

12.3.4 数据复制模式

12.3.5 基于接口的数据集成模式

12.4 就业面试技巧与解析

12.4.1 面试技巧与解析(一)

12.4.2 面试技巧与解析(二)

第13章?记事本系统的开发

13.1 项目开发技术背景

13.2 系统功能设计

13.2.1 系统功能结构

13.2.2 系统运行流程

13.2.3 系统开发环境

13.3 记事本系统运行

13.3.1 系统文件结构

13.3.2 运行系统

13.4 系统数据库设计

13.5 系统主要功能的技术实现

13.5.1 操作数据的方法实现

13.5.2 记事本列表功能的实现

13.5.3 记事本头部功能的实现

13.5.4 记事本详情功能的实现

13.5.5 记事本编辑功能的实现

13.6 系统运行与测试

13.7 开发常见问题及功能扩展

第14章?贪吃蛇小游戏的开发

14.1 项目开发技术背景

14.2 系统功能设计

14.2.1 系统功能结构

14.2.2 系统运行流程

14.2.3 系统开发环境

14.3 贪吃蛇小游戏开发

14.3.1 系统文件结构

14.3.2 运行系统

14.4 系统功能技术实现

14.4.1 地图加载功能的实现

14.4.2 蛇运动功能的实现

14.4.3 蛇吃食物功能的实现

14.5 系统运行与测试

14.6 开发常见问题及功能扩展

第15章?视频播放系统的开发

15.1 项目开发技术背景

15.2 系统功能设计

15.2.1 系统功能结构

15.2.2 系统运行流程

15.2.3 系统开发环境

15.3 视频播放系统运行

15.3.1 系统文件结构

15.3.2 运行系统

15.4 系统功能技术实现

15.4.1 首页轮播图功能的实现

15.4.2 视频列表功能的实现

15.4.3 视频搜索功能的实现

15.4.4 视频详情功能的实现

15.5 系统运行与测试

15.6 开发常见问题及功能扩展