科技>计算机>编程语言
深入理解TypeScript

深入理解TypeScript"

作者:郭文超等
ISBN:9787121376511
定价:¥99.0
字数:393千字
页数:360
出版时间:2020-01
开本:16开
版次:01-01
装帧:
出版社:电子工业出版社
简介

TypeScript是一种由微软开发的、开源的编程语言,近两年来发展很迅猛,已经成为很多大型项目的标配。本书涵盖了TypeScript的大部分知识点,并对其进行了细致的讲解;本书示例丰富、简单易懂,你甚至可以直接把这些例子用于自己的开发工作;本书还对TypeScript编译原理进行了深入的剖析,力争让读者知其然,并知其所以然。本书不仅为TypeScript初学者安排了与JavaScript相关的基础知识,而且对高级编程技巧、编译原理进行了深入浅出的解读,相信对于想深入了解TypeScript的开发者来说,通过阅读本书也能获得较大的提升。

前言

译 者 序 大概在三年以前,我开始接触并学习 TypeScript,之后无意中发现了本书(Basarat的TypeScript Deep Dive),便立即被它所吸引。通读这本书之后,更是有茅塞顿开的感觉。 与官方文档相比,本书主要有以下几个特点。 ? 知识点全面。它不仅涵盖了官方文档的大部分知识点,对于在官方文档中没有却经常遇到的知识点,也做了细致的讲解。 ? 示例丰富,简单易懂。书中的例子,大都来自作者对日常工作的总结,我们甚至可以直接将它们用于自己的开发工作。 ? 深入编译原理。在与TypeScript编译原理相关的章节中,本书对如何把TypeScript编译为JavaScript做了详尽的解析。 曾经,国内还没有深入学习TypeScript的资料,于是我和我的朋友决定翻译此书。何小磊、柳星、徐野等越来越多的开发者加入翻译、审校的队伍中。感谢他们对于此书的翻译工作所做的巨大贡献。随着TypeScript的不断更新和发展,本书涉及的内容也有所更新,为了更便于阅读,在与作者沟通之后,译者对部分内容进行了优化,对部分章节进行了组合和增删。 时至今日,TypeScript 虽已经历多次更新,但对于想要深入了解 TypeScript 的开发者来说,此书仍大有益处。 本书译者 郭文超 前 言 TypeScript是一种由微软开发的、开源的编程语言,自2012年10月发布了首个公开版本以来,它得到了人们的广泛认可。 TypeScript发展至今,已经成为很多大型项目的标配,其提供的静态类型系统,大大增强了代码的可读性及可维护性;同时,它提供最新的和不断发展的JavaScript特性,能让我们构建更健壮的组件。 相信随着前端项目的日益庞大,TypeScript将会被越来越多的开发者使用。 主要内容 本书是TypeScript Deep Dive的中文版,下面是每个章节的内容概要。 第1章:本章主要介绍学习TypeScript之前需要具备的一些知识,以及为什么要使用TypeScript。从中你可以学到TypeScript与JavaScript的不同之处。 第2章:本章主要介绍与JavaScript有关的一些基础知识。熟练使用TypeScript的一个重要前提是要了解JavaScript。 第3章:本章主要介绍与ES6+ 有关的知识点,与之相关的功能已经可以在TypeScript中使用了。 注:ES6是ECMAScript 6.0的简称,ECMAScript可以被理解为JavaScript的标准。本书约定,ES6+ 指的是ECMAScript 6.0及其以上的版本。 第4章:本章将会介绍TypeScript项目中的编译上下文、声明空间、模块、命名空间和动态导入表达式。 第5章:本章将教会你如何快速创建一个TypeScript项目。 第6章:本章将介绍TypeScript的类型系统,通过本章的学习,读者将能够理解并灵活运用类型注解。这将为读者进一步了解类型系统做好铺垫。 第7章:本章将介绍在React JSX(JSX即JavaScript XML,是一种Javascript和XML混写的语法,是JavaScript的扩展)中如何使用TypeScript。 第8章:本章将介绍编译选项,会着重介绍noImpliciAny和strictNullChecks。 第9章:本章将介绍在TypeScript中常见错误的原因及错误的处理办法。 第10章:本章将介绍TypeScript开发与测试中常用的一些工具,如npm、Jest、Prettier 、Husky、ESlint、Changelog等。 第11章:本章将介绍在真实项目中使用TypeScript时的一些小技巧和一些好的建议。 第12章:本章将推荐一些TypeScript的代码风格。 第13章:本章将介绍TypeScript的编译原理,让读者知其然,并知其所以然。 读者须知 为了更好地掌握本书内容,你需要具备一定的JavaScript的知识,但这并不是必需的,因为在本书的第1、2、3章,我们将会一起学习JavaScript。

目录

第1章 为什么要使用TypeScript 1 1.1 开始使用TypeScript 1 1.2 选择TypeScript的理由 2 1.3 总结 6 第2章 JavaScript常见语法 7 2.1 相等 9 2.2 引用 10 2.3 null和undefined 11 2.4 this 15 2.5 闭包 16 2.6 数字 18 2.7 truthy 22 第3章 JavaScript 新语法特性 24 3.1 类 24 3.2 箭头函数 34 3.3 rest参数 39 3.4 let 39 3.5 const 44 3.6 解构 45 3.7 扩展运算符 49 3.8 for...of 51 3.9 迭代 53 3.10 模板字符串 58 3.11 Promise 61 3.12 generators 76 3.13 async/await 79 第4章 TypeScript项目构成 89 4.1 编译上下文 89 4.2 声明空间 93 4.3 模块 94 4.4 命名空间 104 4.5 动态导入表达式 105 第5章 快速创建TypeScript项目 108 5.1 在Node.js中使用TypeScript 108 5.2 在浏览器中使用TypeScript 109 5.3 创建一个TypeScript模块 114 第6章 TypeScript类型系统 117 6.1 基本概念 117 6.2 迁移JavaScript代码至TypeScript 126 6.3 @types 130 6.4 环境声明 131 6.5 接口 133 6.6 枚举 136 6.7 lib.d.ts 144 6.8 函数 153 6.9 可调用 158 6.10 类型断言 160 6.11 Freshness 163 6.12 类型保护 166 6.13 字面量类型 172 6.14 readonly 176 6.15 泛型 181 6.16 类型推断 186 6.17 类型兼容性 190 6.18 never 201 6.19 辨析联合类型 203 6.20 索引签名 209 6.21 类型移动 218 6.22 异常处理 220 6.23 混合 225 6.24 ThisType 227 第7章 关于 JSX 231 7.1 React JSX 232 7.2 非React JSX 239 第8章 TypeScript编译选项设置 241 8.1 boolean选项 241 8.2 noImplicitAny 242 8.3 strictNullChecks 243 第9章 TypeScript错误处理 247 9.1 解读错误 247 9.2 常见的错误 249 第10章 开发与测试工具 252 10.1 npm 252 10.2 在Jest中使用TypeScript 255 10.3 Prettier 261 10.4 Husky 261 10.5 ESlint 262 10.6 Changelog 264 第11章 提示与建议 266 11.1 名义化类型 266 11.2 状态函数 270 11.3 柯里化 271 11.4 泛型的实例化类型 271 11.5 对象字面量的惰性初始化 272 11.6 类是有用的 274 11.7 默认导出被认为是有害的 276 11.8 减少setter属性的使用 279 11.9 谨慎使用--outFile 280 11.10 TypeScript的静态构造函数 283 11.11 单例模式 283 11.12 函数参数 284 11.13 构建切换 285 11.14 barrel 287 11.15 创建数组 289 11.16 类型安全的Event Emitter 289 11.17 Reflect Metadata 291 11.18 协变与逆变 297 第12章 TypeScript代码风格指南与代码约定 300 12.1 变量和函数 300 12.2 类 301 12.3 接口 301 12.4 类型别名 302 12.5 命名空间 302 12.6 枚举类型 303 12.7 null和undefined 304 12.8 格式化 305 第13章 TypeScript编译原理 308 13.1 编译器 308 13.2 程序 310 13.3 抽象语法树 311 13.4 扫描器 315 13.5 解析器 317 13.6 绑定器 321 13.7 检查器 333 13.8 发射器 335

作者简介

编辑推荐

作者寄语

电子资料

www.luweidong.cn

下一个