前〓〓言 在Web前端开发领域,JavaScript始终处于重要的地位。JavaScript能很好地结合Node.js这一跨平台运行环境,将可开发范围由前端扩展到后端。但随着Web项目需求的不断增加,其业务逻辑也越来越复杂。JavaScript作为一款弱类型的动态脚本语言,显然不能满足当前实际开发的需要,也无法很好地应对项目维护等工作。幸好,随着技术的不断进步,TypeScript语言的出现,成功破解了这一难题。 TypeScript是由微软公司开发的、基于JavaScript的开源编程语言。TypeScript带有静态类型检查功能,是JavaScript的一个超集,TypeScript的源文件最终可被编译为纯JavaScript代码。TypeScript可以弥补JavaScript弱类型系统的不足,从而大幅提高开发代码的可靠性。此外,TypeScript也继承了JavaScript的诸多优点,如沿用了JavaScript的语法和语义,极大地降低了学习成本和程序迁移成本。目前,TypeScript已在前端领域占据重要地位,得到了广泛运用和开发市场的普遍认可。对开发技术人员来说,掌握TypeScript不但可以重塑类型思维、提升编程素养,还可玩转前端应用开发,甚至挑战后端应用开发。 本书主要内容 本书共12章分为三部分,包括基础篇、进阶篇和实战案例篇。 第一部分基础篇,包括第1~5章。 第1章开发入门,主要阐述JavaScript的局限性和TypeScript语言的优点、JavaScript和TypeScript之间的关系、安装和配置TypeScript的开发环境。 第2章基础语法,详细介绍包括注释、标识符、关键字、基础类型、变量、常量、操作符、分支语句、循环语句、跳转、函数定义、可选函数、默认参数、剩余参数、重载函数、递归函数、匿名函数、箭头函数、回调函数等内容。 第3章面向对象,详细介绍类和对象的基本概念、类结构、属性、函数、访问器、构造函数、创建对象、继承、函数覆盖和多态、this与super、抽象类、接口定义、接口实现类、接口多继承等内容。 第4章包装类,主要介绍Boolean、Number、String几个包装类的常见属性和函数,以及正则表达式的语法知识。 第5章集合类型,重点介绍数组(array)、元组(tuple)、集合(set)、映射(map)4种数据结构的创建和使用,以及不同集合类型间的转换。 第二部分进阶篇,包括第6~8章。 第6章语法进阶,详细描述数组的解构与展开、对象的解构与展开、访问修饰符、只读修饰符、类装饰器、其他装饰器、装饰器工厂、装饰器执行顺序、接口兼容性、类兼容性、函数兼容性、联合类型、交叉类型、类型别名、类型推断、类型断言、泛型、错误处理、传统回调函数实现异步处理、Promise实现异步编程、关键字async和await的使用等内容。 第7章名称空间和模块,全面介绍名称空间的定义和资源导出、名称空间嵌套、跨文件访问名称空间内资源、普通脚本资源全局可见、模块导出默认资源、模块导出多个资源、同时导出默认资源和普通资源、导入变量的只读特征、导出导入其他语法、CommonJS规范下模块的导入和导出等内容。 第8章类型声明文件,全面讲述获取TypeScript内置API的类型声明文件、获取常用第三方JavaScript库的类型声明文件、对JavaScript文件的简单支持、为.js文件编写类型声明文件等内容。 第三部分实战案例篇,包括第9~12章,深入细致地讲解了4个关联项目的功能实现全过程。 第9章使用Puppeteer框架爬取图书信息,全面讲解在Node.js平台上用TypeScript语言调用Puppeteer框架爬取图书信息,然后调用Node.js内置模块fs将爬取信息保存到本地JSON格式的文件中。 第10章将图书信息保存至MongoDB,详细介绍在Node.js平台上引入Mongoose模块,然后使用TypeScript语言调用Mongoose提供的API,将第9章保存的JSON格式数据保存到MongoDB数据库文档集合中。 第11章实现后端RESTful API服务,详细介绍在Express.js应用框架上构建RESTful API服务,从而与第10章保存在MongoDB数据库中的图书信息进行交互,以及提供增、删、改、查等操作的相关接口。 第12章实现前端Vue应用,全面介绍使用Vite工具构建Vue项目,引入vuerouter模块进行路由配置,设计Vue组件,并通过Axios客户端调用第11章的RESTful API,实现图书列表、详情、修改、删除等界面操作功能。 本书特色 (1) 语言简洁易懂,演练结合,操作步骤详尽,适合读者自学。 (2) 代码示例丰富,讲解清晰,读者可以快速掌握TypeScript开发。 (3) 项目案例实用,难度适宜,便于将众多技术点迁移到自己的项目中。 (4) 读者可获得更多实践经验。本书在项目案例中引入了Node.js、Puppeteer、MongoDB、Mongoose、Express.js、RESTful API、Vue、Vite、vuerouter、Axios等众多平台、产品、框架、模块和技术,帮助读者全面提升实践水平。 配套资源 为便于教与学,本书配有源代码、微课视频、教学课件、教学大纲、教案、教学进度表、评分标准、软件安装包。 (1) 获取教学视频的方式: 读者可以先扫描本书封底的文泉云盘防盗码,再扫描书中相应的视频二维码,观看教学视频。 (2) 获取源代码、软件安装包和全书网址的方式: 先扫描本书封底的文泉云盘防盗码,再扫描下方二维码,即可获取。 源代码 软件安装包 全书网址 (3) 扫描本书封底的“书圈”二维码,下载其他配套资源。 读者对象 本书适用于对JavaScript有一定基础的前端开发人员,帮助他们使用TypeScript语言编写出更具可读性和可维护性的代码。本书同样适合希望使用TypeScript构建Web应用的全栈开发人员阅读。 致谢 本书由上海城建职业学院曹宇者。在本书的策划和出版过程中,作者得到了许多人的帮助,在此衷心感谢所有支持者。特别感谢单位同事和众多行业公司的朋友,他们给予了宝贵的帮助和支持。 在本书编写过程中参考了诸多相关资料,在此对相关资料的作者表示衷心的感谢。 由于TypeScript语法和相关开发技术的不断变化和完善,以及作者水平和时间有限,书中难免存在疏漏之处,欢迎广大读者批评和指正。 作者2024年1月