• TYPESCRIPT经典实例

TYPESCRIPT经典实例

正版全新

¥ 83.88 6.6折 ¥ 128 全新

库存2件

上海浦东

作者(奥)斯蒂芬·鲍姆加特纳(Stefan Baumgartn

出版社中国电力出版社

ISBN9787523905340

出版时间2022-12

装帧其他

定价128元

货号5085613

上书时间2026-11-14

   商品详情   

品相描述:全新
商品描述
【书    名】 TYPESCRIPT经典实例
【书    号】 9787523905340
【出 版 社】 中国电力出版社
【作    者】 (奥)斯蒂芬·鲍姆加特纳(Stefan Baumgartn
【出版日期】 2025-11-01
【定    价】 128.00元

【内容简介】 
TypeScript是JavaScript开发人员*重要的工具之一。然而,即便是经验丰富的开发人员,也会疑惑TypeScript编译器为什么输出红色波浪线。阅读本书吧!在这本实用指南中,作者StefanBaumgartner为高级工程师提供了TypeScript日常问题的解决方案。
  本书为熟悉JavaScript和TypeScript基础知识的开发人员提供了一些切实可行的方案,有助于解决各种问题。书中的经典实例自成一体,涵盖设置复杂的项目结构和开发高级辅助类型,详细分析问题并讨论方案背后的原理和具体措施。
  本书是你在TypeScript进阶旅程中不可缺少的伴侣,涵盖以下话题:
  •深入研究TypeScript类型系统的内部工作原理。
  •将TypeScript集成到各种项目中。
  •定义高级类型,灵活适应不同场景。
  •创建跨项目可用的辅助类型。
  •确保可读性和类型安全性。
  •有效地为依赖字符串字面量的函数签名定义类型。
  •解决标准库的限制。
  •将TypeScript集成到复杂的React项目中。
  •运用类型开发策略,包括类型测试。
  •识别类型系统对规则做出例外处理的情况。

【目录】 
序1

前言3

第1章 项目配置13

1.1JavaScript类型检查14

1.2安装TypeScript18

1.3把类型放在一旁22

1.4将项目迁移到TypeScript25

1.5从DefinitelyTyped加载类型28

1.6设置全栈项目31

1.7设置测试37

1.8从URL获取ECMAScript模块的类型40

1.9在Node中加载不同类型的模块44

1.10使用Deno及其依赖48

1.11使用预定义配置51

第2章 基本类型55

2.1有效注解55

2.2使用any和unknown60

2.3选择正确的对象类型63

2.4使用元组类型66

2.5区别接口和类型别名70

2.6定义函数重载73

2.7定义this参数类型76

2.8使用符号80

2.9理解值和类型命名空间84

第3章 类型系统89

3.1使用联合类型和交叉类型建模数据89

3.2使用可区分联合类型显式定义模型94

3.3使用断言never技术穷尽检查97

3.4使用常量上下文固定类型101

3.5使用类型谓词收窄类型106

3.6理解void108

3.7在catch子句中处理错误类型112

3.8使用可选never创建互斥模型116

3.9有效使用类型断言118

3.10使用索引签名122

3.11区分缺失属性和未定义值127

3.12使用枚举130

3.13在结构类型系统中定义名义类型136

3.14为字符串子集启用宽松的自动补全140

第4章 泛型143

4.1泛化函数签名144

4.2创建有关联的函数参数147

4.3摆脱any和unknown151

4.4理解泛型实例化154

4.5生成新对象类型159

4.6使用断言签名修改对象165

4.7使用类型映射来映射类型168

4.8使用ThisType定义对象中的this174

4.9为泛型类型参数添加常量上下文178

第5章 条件类型183

5.1管理复杂的函数签名183

5.2使用never过滤188

5.3按种类分组元素193

5.4移除对象的特定属性200

5.5推导条件中的类型204

第6章 字符串模板字面类型211

6.1自定义事件系统212

6.2使用字符串操作类型和键重映射创建事件回调215

6.3编写格式化函数219

6.4提取格式参数类型223

6.5处理递归限制227

6.6把模板字面量用作判别属性231

第7章 可变元组类型237

7.1为concat函数定义类型238

7.2为promisify函数定义类型241

7.3为curry函数定义类型246

7.4为灵活的curry函数定义类型250

7.5为*简单的curry函数定义类型254

7.6从元组创建枚举257

7.7拆分函数签名的所有元素262

第8章 辅助类型265

8.1把特定属性设为可选266

8.2修改嵌套对象270

8.3重映射类型274

8.4获取所有必需的键277

8.5至少设定一个属性281

8.6仅设定一个属性,以及全部设定或全不设定287

8.7把联合类型转换为交叉类型292

8.8使用type-fest300

第9章 标准库和外部类型定义305

9.1使用Object.keys遍历对象306

9.2通过类型断言和unknown突出不安全操作310

9.3使用defineProperty313

9.4扩展Array.prototype.includes的类型319

9.5过滤空值324

9.6扩展模块326

9.7增强全局命名空间329

9.8将非JS模块添加到模块图334

第10章 TypeScript和React337

10.1编写代理组件338

10.2编写受控组件341

10.3为自定义钩子定义类型344

10.4为泛化forwardRef组件定义类型347

10.5为上下文API提供类型352

10.6为高阶组件定义类型358

10.7为React合成事件系统中的回调定义类型361

10.8为多态组件定义类型364

第11章 类371

11.1选择合适的可见性修饰符372

11.2显式定义方法覆盖378

11.3描述构造函数和原型382

11.4在类中使用泛型386

11.5决定何时使用类或命名空间390

11.6编写静态类395

11.7严格的属性初始化400

11.8在类中使用this类型406

11.9编写装饰器411

第12章 类型开发策略419

12.1编写低维护量类型420

12.2逐步完善类型423

12.3使用satisfies检查契约436

12.4测试复杂类型441

12.5使用Zod在运行时验证数据类型443

12.6解决索引访问限制449

12.7使用函数重载还是条件类型452

12.8泛型的名称460

12.9在TypeScriptPlayground中设计原型462

12.10提供库的多个版本467

12.11适可而止471

以下为对购买帮助不大的评价

此功能需要访问孔网APP才能使用
暂时不用
打开孔网APP