呦呦鹿鸣处 书卷汇成川

联系我们:
《TypeScript入门与实战》封面

TypeScript入门与实战

出版年份:
ISBN: 9787111669722
豆瓣评分: 8.0

标签

编程计算机前端typescriptWeb前端开发Web前端JavaScript还行,适合新手

踏入代码新世界,这本书将是你开启TypeScript之旅的绝佳指南! **第一站:初探TypeScript的魅力(第1-2章)** 我们将一同揭开TypeScript的神秘面纱,了解它为何而生,又将如何颠覆你的编码方式。从搭建开发环境到编写你的第一个TypeScript程序,你将亲身体验从0到1的成就感。 **第二站:重温JavaScript的精髓(第3-4章)** 如果你对JavaScript有所耳闻,或者想打下扎实的基础,这一篇将带你回顾JavaScript的核心知识,并探索那些让它充满活力的前沿特性。 **第三站:玩转TypeScript的类型魔法(第5-7章)** 这才是本书的“点睛之笔”!我们将深入TypeScript最引以为傲的类型系统。学会驯服类型,你的代码将变得前所未有的健壮、可维护,告别那些恼人的运行时错误。 **第四站:TypeScript的实战演练(第8-9章)** 纸上得来终觉浅,绝知此事要躬行。本篇将带你进入TypeScript的实际应用场景,学习如何高效管理项目配置,并将其无缝集成到你的开发工具中,让你的开发效率更上一层楼。 **温馨提示:** 如果你已是JavaScript的老司机,完全可以直接跳到第三篇,直奔TypeScript的核心“类型魔法”。但如果你还想巩固一下基础,或者打算系统学习JavaScript,我强烈建议你按顺序阅读,并辅以其他资料,一同探索这门魅力无限的语言。 书中所有代码都以清晰的等宽字体呈现,并贴心地加上了行号。别错过彩蛋——所有示例代码都可以在GitHub上找到(传送门:https://github.com/tstutorial/code),让你随时随地动手实践,将所学化为己用! 准备好了吗?让我们一起出发,解锁TypeScript的强大力量,编写更优雅、更可靠的代码吧!

前言
第一篇 初识TypeScript
第1章 TypeScript简介  2
1.1 什么是TypeScript  2
1.1.1 始于JavaScript,终于JavaScript  3
1.1.2 可选的静态类型  4
1.1.3 开放与跨平台  4
1.2 为什么要使用TypeScript  5
1.2.1 易于发现代码中的错误  5
1.2.2 提高生产力  6
1.2.3 支持JavaScript的最新特性  7
1.3 成功案例  8
1.3.1 Visual Studio Code  8
1.3.2 Angular  9
第2章 快速开始  10
2.1 在线编写并运行TypeScript  10
2.1.1 Hello World!  11
2.1.2 扩展功能:选择TypeScript版本  12
2.1.3 扩展功能:TypeScript配置项  12
2.2 本地编写并运行TypeScript  13
2.2.1 选择代码编辑器  13
2.2.2 安装Visual Studio Code  15
2.2.3 安装TypeScript  15
2.2.4 创建文件  16
2.2.5 编译程序  17
2.2.6 运行程序  18
2.2.7 可选步骤:设置默认构建任务  18
第二篇 TypeScript语言概览
第3章 TypeScript语言基础  22
3.1 变量  22
3.1.1 变量名  23
3.1.2 变量声明  23
3.2 注释  24
3.2.1 单行注释与多行注释  25
3.2.2 区域注释  25
3.3 数据类型  26
3.3.1 Undefined  27
3.3.2 Null  27
3.3.3 Boolean  27
3.3.4 String  27
3.3.5 Number  28
3.3.6 Symbol  28
3.3.7 Object  29
3.4 字面量  29
3.4.1 Null字面量  30
3.4.2 Boolean字面量  30
3.4.3 Number字面量  30
3.4.4 字符串字面量  30
3.4.5 模板字面量  30
3.5 对象  31
3.5.1 对象字面量  31
3.5.2 原型对象  32
3.6 数组  34
3.6.1 数组字面量  34
3.6.2 数组中的元素  34
3.7 函数  34
3.7.1 函数声明  34
3.7.2 函数表达式  35
3.7.3 箭头函数  36
第4章 TypeScript语言进阶  37
4.1 BigInt  37
4.1.1 创建BigInt  38
4.1.2 BigInt与Number  38
4.2 展开运算符  39
4.2.1 展开数组字面量  39
4.2.2 展开对象字面量  39
4.2.3 展开函数参数  39
4.3 解构  40
4.3.1 数组解构  40
4.3.2 对象解构  40
4.4 可选链运算符  40
4.4.1 基础语法  41
4.4.2 短路求值  41
4.5 空值合并运算符  42
第三篇 TypeScript类型系统
第5章 TypeScript类型基础  44
5.1 类型注解  44
5.2 类型检查  45
5.2.1 非严格类型检查  45
5.2.2 严格类型检查  45
5.3 原始类型  46
5.3.1 boolean  46
5.3.2 string  47
5.3.3 number  47
5.3.4 bigint  47
5.3.5 symbol与unique symbol  47
5.3.6 Nullable  50
5.3.7 void  53
5.4 枚举类型  54
5.4.1 数值型枚举  55
5.4.2 字符串枚举  56
5.4.3 异构型枚举  57
5.4.4 枚举成员映射  58
5.4.5 常量枚举成员与计算枚举成员  58
5.4.6 联合枚举类型  62
5.4.7 const枚举类型  65
5.5 字面量类型  66
5.5.1 boolean字面量类型  66
5.5.2 string字面量类型  67
5.5.3 数字字面量类型  67
5.5.4 枚举成员字面量类型  68
5.6 单元类型  68
5.7 顶端类型  69
5.7.1 any  69
5.7.2 unknown  71
5.7.3 小结  73
5.8 尾端类型  74
5.8.1 never  74
5.8.2 应用场景  75
5.9 数组类型  76
5.9.1 数组类型定义  76
5.9.2 数组元素类型  78
5.9.3 只读数组  79
5.10 元组类型  80
5.10.1 元组的定义  80
5.10.2 只读元组  81
5.10.3 访问元组中的元素  82
5.10.4 元组类型中的可选元素  83
5.10.5 元组类型中的剩余元素  83
5.10.6 元组的长度  84
5.10.7 元组类型与数组类型的兼容性  85
5.11 对象类型  85
5.11.1 Object  86
5.11.2 object  89
5.11.3 对象类型字面量  91
5.11.4 弱类型  97
5.11.5 多余属性  97
5.12 函数类型  102
5.12.1 常规参数类型  102
5.12.2 可选参数类型  102
5.12.3 默认参数类型  104
5.12.4 剩余参数类型  105
5.12.5 解构参数类型  106
5.12.6 返回值类型  106
5.12.7 函数类型字面量  108
5.12.8 调用签名  109
5.12.9 构造函数类型字面量  110
5.12.10 构造签名  111
5.12.11 调用签名与构造签名  111
5.12.12 重载函数  112
5.12.13 函数中this值的类型  118
5.13 接口  119
5.13.1 接口声明  119
5.13.2 属性签名  120
5.13.3 调用签名  120
5.13.4 构造签名  121
5.13.5 方法签名  121
5.13.6 索引签名  122
5.13.7 可选属性与方法  125
5.13.8 只读属性与方法  126
5.13.9 接口的继承  127
5.14 类型别名  129
5.14.1 类型别名声明  129
5.14.2 递归的类型别名  130
5.14.3 类型别名与接口  132
5.15 类  133
5.15.1 类的定义  134
5.15.2 成员变量  135
5.15.3 成员函数  138
5.15.4 成员存取器  138
5.15.5 索引成员  140
5.15.6 成员可访问性  140
5.15.7 构造函数  143
5.15.8 参数成员  144
5.15.9 继承  145
5.15.10 实现接口  150
5.15.11 静态成员  151
5.15.12 抽象类和抽象成员  153
5.15.13 this类型  155
5.15.14 类类型  156
第6章 TypeScript类型进阶  158
6.1 泛型  158
6.1.1 泛型简介  159
6.1.2 形式类型参数  160
6.1.3 实际类型参数  161
6.1.4 泛型约束  162
6.1.5 泛型函数  165
6.1.6 泛型接口  167
6.1.7 泛型类型别名  168
6.1.8 泛型类  169
6.2 局部类型  170
6.3 联合类型  171
6.3.1 联合类型字面量  171
6.3.2 联合类型的类型成员  173
6.4 交叉类型  176
6.4.1 交叉类型字面量  176
6.4.2 交叉类型的类型成员  178
6.4.3 交叉类型与联合类型  180
6.5 索引类型  181
6.5.1 索引类型查询  182
6.5.2 索引访问类型  185
6.5.3 索引类型的应用  186
6.6 映射对象类型  187
6.6.1 映射对象类型声明  187
6.6.2 映射对象类型解析  188
6.6.3 映射对象类型应用  188
6.6.4 同态映射对象类型  190
6.7 条件类型  196
6.7.1 条件类型的定义  196
6.7.2 分布式条件类型  197
6.7.3 infer关键字  199
6.8 内置工具类型  201
6.8.1 Partial<T>  201
6.8.2 Required<T>  202
6.8.3 Readonly<T>  202
6.8.4 Record<K, T>  202
6.8.5 Pick<T, K>  202
6.8.6 Omit<T, K>  203
6.8.7 Exclude<T, U>  203
6.8.8 Extract<T, U>  203
6.8.9 NonNullable<T>  203
6.8.10 Parameters<T>  204
6.8.11 ConstructorParameters<T>  204
6.8.12 ReturnType<T>  204
6.8.13 InstanceType<T>  205
6.8.14 ThisParameterType<T>  205
6.8.15 OmitThisParameter<T>  206
6.8.16 ThisType<T>  206
6.9 类型查询  206
6.10 类型断言  207
6.10.1 <T>类型断言  208
6.10.2 as T类型断言  208
6.10.3 类型断言的约束  209
6.10.4 const类型断言  210
6.10.5 !类型断言  212
6.11 类型细化  213
6.11.1 类型守卫  214
6.11.2 可辨识联合类型  225
6.11.3 赋值语句分析  232
6.11.4 基于控制流的类型分析  233
6.11.5 断言函数  233
第7章 TypeScript类型深入  238
7.1 子类型兼容性  238
7.1.1 类型系统可靠性  239
7.1.2 子类型的基本性质  239
7.1.3 顶端类型与尾端类型  240
7.1.4 原始类型  240
7.1.5 函数类型  241
7.1.6 对象类型  245
7.1.7 泛型  249
7.1.8 联合类型  250
7.1.9 交叉类型  251
7.2 赋值兼容性  251
7.3 类型推断  253
7.3.1 常规类型推断  253
7.3.2 按上下文归类  255
7.4 类型放宽  256
7.4.1 常规类型放宽  256
7.4.2 字面量类型放宽  257
7.5 命名空间  261
7.5.1 命名空间声明  262
7.5.2 导出命名空间内的声明  263
7.5.3 别名导入声明  265
7.5.4 在多文件中使用命名空间  266
7.5.5 小结  269
7.6 模块  269
7.6.1 模块简史  269
7.6.2 ECMAScript模块  273
7.6.3 模块导出  273
7.6.4 模块导入  276
7.6.5 重命名模块导入和导出  278
7.6.6 针对类型的模块导入与导出 280
7.6.7 动态模块导入  284
7.6.8 --module  285
7.7 外部声明  286
7.7.1 外部类型声明  287
7.7.2 外部模块声明  292
7.8 使用声明文件  293
7.8.1 语言内置的声明文件  293
7.8.2 第三方声明文件  293
7.8.3 自定义声明文件  298
7.9 模块解析  299
7.9.1 相对模块导入  299
7.9.2 非相对模块导入  300
7.9.3 模块解析策略  301
7.9.4 模块解析策略之Classic  301
7.9.5 模块解析策略之Node  304
7.9.6 --baseUrl  308
7.9.7 paths  310
7.9.8 rootDirs  312
7.9.9 导入外部模块声明  312
7.9.10 --traceResolution  313
7.10 声明合并  314
7.10.1 接口声明合并  315
7.10.2 枚举声明合并  317
7.10.3 类声明合并  318
7.10.4 命名空间声明合并  318
7.10.5 扩充模块声明  321
7.10.6 扩充全局声明  322
第四篇 TypeScript应用
第8章 TypeScript配置管理  324
8.1 编译器  324
8.1.1 安装编译器  325
8.1.2 编译程序  326
8.2 编译选项  328
8.2.1 编译选项风格  328
8.2.2 使用编译选项  330
8.2.3 严格类型检查  331
8.2.4 编译选项列表  337
8.3 tsconfig.json  338
8.3.1 使用配置文件  338
8.3.2 编译选项列表  340
8.3.3 编译文件列表  342
8.3.4 声明文件列表  346
8.3.5 继承配置文件  348
8.4 工程引用  351
8.4.1 使用工程引用  352
8.4.2 工程引用示例  353
8.4.3 --build  354
8.4.4 solution模式  356
8.5 JavaScript类型检查  357
8.5.1 编译JavaScript  357
8.5.2 JavaScript类型检查  358
8.5.3 JSDoc与类型  360
8.6 三斜线指令  363
8.6.1 /// <reference path="" />  364
8.6.2 /// <reference types="" />  366
8.6.3 /// <reference lib="" />  367
第9章 TypeScript项目实践  371
9.1 TypeScript与Babel  371
9.1.1 Babel  372
9.1.2 TypeScript编译器  372
9.1.3 实例演示  374
9.1.4 注意事项  380
9.1.5 小结  381
9.2 TypeScript与webpack  381
9.2.1 webpack  381
9.2.2 实例演示  381
9.2.3 小结  385
9.3 TypeScript与ESLint  385
9.3.1 ESLint  386
9.3.2 实例演示  386
9.3.3 集成Visual Studio Code  390
9.3.4 小结  393
9.4 TypeScript与Visual Studio Code  393
9.4.1 代码格式化  394
9.4.2 组织模块导入语句  395
9.4.3 代码导航  395
9.4.4 快速修复  396
9.4.5 重构工具  396
9.4.6 CodeLens  397

《TypeScript入门与实战》怎么样?值得读吗?

《TypeScript入门与实战》是一部优秀作品,内容丰富深刻,适合对相关主题感兴趣的读者。我们提供完整版电子书,让您随时随地享受阅读乐趣。

《TypeScript入门与实战》哪个版本好?推荐哪个出版社?

建议选择知名出版社的正版,我们提供的是完整未删节版本,保留了原作的所有精华内容,确保最佳阅读体验。

如何免费下载《TypeScript入门与实战》电子版?

点击页面的下载按钮,我们提供百度网盘、夸克网盘等多种下载方式,支持EPUB、MOBI、PDF、TXT等格式,完全免费。

《TypeScript入门与实战》作者版本有什么特色?

我们提供的版本保持了作者原有的写作风格和内容结构,未经删改,让读者能够完整体验作者的思想和表达。

《TypeScript入门与实战》EPUB和MOBI格式有什么区别?

EPUB是开放标准格式,适合大多数阅读器;MOBI是亚马逊Kindle专用格式,在Kindle设备上阅读体验更佳。《TypeScript入门与实战》的EPUB版本支持动态排版,可调整字体大小;MOBI版本则针对Kindle进行了优化。

《TypeScript入门与实战》PDF格式是否带有目录?

是的,我们提供的PDF版本带有完整的书签目录,方便您快速跳转到需要的章节。PDF版本还保留了原书排版设计。

如何在安卓手机上阅读《TypeScript入门与实战》EPUB格式?

在安卓手机上阅读《TypeScript入门与实战》,我们推荐使用以下应用:1. 静读天下(Moon+ Reader):支持多种格式,功能丰富;2. 掌阅iReader:界面简洁,阅读体验流畅;3. 多看阅读:支持云同步,适合多设备用户。下载后直接用这些应用打开即可。

如何将《TypeScript入门与实战》传输到Kindle上阅读?

将《TypeScript入门与实战》传输到Kindle设备有两种主要方式:1. USB连接方式:通过数据线将Kindle连接到电脑,将MOBI文件复制到Kindle的Documents文件夹中;2. 邮件推送方式:将MOBI文件通过电子邮件发送到您的Kindle邮箱(可在Amazon账户中查看)。我们提供的MOBI格式已针对Kindle优化。

《TypeScript入门与实战》 EPUB格式支持夜间模式吗?

是的,EPUB格式支持夜间模式,但具体效果取决于您使用的阅读应用。大多数现代阅读应用(如静读天下、掌阅、多看)都支持夜间模式,允许您调整背景色和文字颜色,减轻夜间阅读的视觉疲劳。

《TypeScript入门与实战》电子书是完整版吗?

是的,我们提供的电子书是完整版,包含原书的全部内容、图表和附录。电子书经过专业排版,确保内容完整准确,阅读体验流畅。

《TypeScript入门与实战》电子版与纸质版有什么区别?

《TypeScript入门与实战》的电子版内容与纸质版完全一致,包含所有章节和插图。电子版的优势在于:支持全文检索、可调整字体大小、便于随身携带、支持夜间阅读。某些图表在不同格式下的呈现效果可能略有差异,但不影响阅读理解。

阅读这本书推荐哪种格式?

根据您的设备选择:Kindle设备推荐MOBI格式;iPad/iPhone设备推荐EPUB格式;安卓设备推荐EPUB格式;电脑阅读推荐PDF格式(尤其是包含复杂图表的内容)。如果您需要进行笔记和批注,EPUB和PDF格式会更适合。

《人间词话》

《人间词话》是在接受了西方美学影响后所创作的文学评论集,被视为晚清以来最具影响力的著作之一。作者以自己的文艺观对情与景的关系进行了系统分析,在中国文学批评史上首次提出了“造境”与“写境”、以及“理想”与“写实”等议题。该书在沿袭传统的词话体例、概念与逻辑的基础上,巧妙地融入了新的观念,使所涉及的理论问题具有重要意义。除原有内容外,书中还收录了尚未发表的稿件、王国维的其他文学作品以及精美的水墨画,为...

查看详情 →

《带一本书去巴黎》

这位作者林达以往因多部聚焦“近距离观察美国”的作品而知名,如今她携带一部关于“革命”的文学经典《九三年》走向巴黎。她在法兰西的城堡、广场、宫殿、教堂与博物馆间徜徉,咀嚼文化的丰饶、品尝艺术的盛宴,聆听历史的回声,感悟前人在血与火中凝聚出的思想与智慧——在浓郁的法国历史文化氛围中,她以大量的史实细节与场景,丰富了对艺术、文化、历史、社会以及“革命”的理解。 写美国题材的林达又开启了一段浪漫之都的旅...

查看详情 →

《福尔摩斯探案精选》

英国作家柯南·道尔爵士(1859—1930)笔下的福尔摩斯,早已超越了创作者所在的年代与国界,甚至超越作者本人,成为一个无往不胜、永恒不老的神探形象,亦成了一个广为人知的通用名词。本书以道尔爵士在生时亲自挑选的被视为“最佳”的若干篇故事为基础,另外再精选多篇各具特色的侦探佳作,共21篇,汇编成《福尔摩斯探案精选》。并配以精美的原版插图,一册在手即可尽览福尔摩斯探案的精华,值得珍藏与鉴赏。

查看详情 →

《成功心理学》

这部作品以批判性思维为核心,聚焦于时间与金钱管理、沟通与人际关系等基本能力的提升,帮助读者打破“成功学”的空泛说法,借助系统化、科学性的心理学工具,寻找属于自己的成功路径。 ※编辑推荐※ 当你已经拥有一份前景可观的工作,却心怀其他梦想;当职业遇到瓶颈、渴望突破却对未知的变动心存顾虑;在自我危机与选择交汇的路口,你应走向何方?哪条路线才是真正通往成功的正确之道?《成功心理学》引导你用批判性思考来审...

查看详情 →