TypeScript Handbook(中文版)
TypeScript 2.2 当在类的构造函数中需要设 置 Object.setPrototypeOf 或 __proto__ 时, new.target 就派上用场了。 在NodeJS v4及更高版本中继承 Error 类就是这样的使用案例。 示例 class CustomError extends Error { constructor(message?: string) { "); } dramaticWelcome(); 编译和运行输出应该会在ES3/ES5引擎上产生正确的行为。 支持外部辅助库( tslib ) TypeScript注入了一些辅助函数,如继承 _extends 、JSX中的展开运算 符 __assign 和异步函数 __awaiter 。 以前有两个选择: 1. 在每一个需要辅助库的文件都注入辅助库或者 2. 使用 --noEmitHelpers TypeScript Handbook(中文版) 131 TypeScript 2.1 这在继承内置类如 Error , Array , Map 等的行为上有了破坏性的改变。 请阅读extending built-ins breaking change documentation。 配置继承 通常一个项目有多个输出版本,比如 ES5 和 ES2015 ,调试和生产 或 Commonjs0 码力 | 557 页 | 7.48 MB | 1 年前3
TypeScript 4.0 使用手册
number, m: number) {} 11. tick() { 12. console.log("beep beep"); 13. } 14. }; 和类一样,接口也可以相互继承。 这让我们能够从一个接口里复制成员到另一个接口里,可以更灵活 地将接口分割到可重用的模块里。 1. interface Shape { 2. color: string; 3. } 4 8. 9. let square = {} as Square; 10. square.color = "blue"; 11. square.sideLength = 10; 一个接口可以继承多个接口,创建出多个接口的合成接口。 1. interface Shape { 2. color: string; 3. } 4. 5. interface PenStroke { extends Shape, PenStroke { 10. sideLength: number; 11. } 12. 13. let square = {} as Square; 继承接口 接口 - 117 - 本文档使用 书栈网 · BookStack.CN 构建 14. square.color = "blue"; 15. square.sideLength = 10;0 码力 | 683 页 | 6.27 MB | 1 年前3
TypeScript 多场景设计方案及应用实践
体验不不同 Egg 解决的是 BFF 场景,⽽而淘宝有不不少全栈场景 js/ts ⽬目录混合 TS 体验不不同 Egg 解决的是 BFF 场景,⽽而淘宝有不不少全栈场景 class ⽤用法,⽆无法多继承 TS 杂糅的 app/ctx 合并机制 体验不不同 Egg 解决的是 BFF 场景,⽽而淘宝有不不少全栈场景 TS 第⼀一代设计 第⼀一代设计 TS 解决复杂度问题 尝试引⼊入 IoC 尝试让⽤用户体感⼀一致,不不再考虑写法 服务层写法⼀一致,体验⼀一致 TS 体验上的问题 1、写法上的不不⼀一致 - Class / Function 2、多实现上的不不⼀一致 - ⽆无法⽅方便便的继承 3、代码洁癖上的问题 - 编译⽬目录分离 TS 体验 为了了良好的使⽤用 IoC,我们将整个 Midway 修改为了了 OO 的模型,所有的东⻄西都通过 class 来编码,这样也 可以更更好的借鉴0 码力 | 95 页 | 8.28 MB | 1 年前3
TypeScript 类型系统函数重载 13 1. TypeScript类型信息只存在于编译期,不会带到运行期 2. TypeScript要与JavaScript兼容 TypeScript 接口 14 接口合并 接口继承 类实现接口 TypeScript 接口 15 TypeScript 类型断言 16 TypeScript 类型守卫/类型收敛 17 当遇到下面这些条件语句时,TypeScript会在语句作用域内部收敛变量的类型0 码力 | 25 页 | 1.27 MB | 1 年前3
Hello 算法 1.0.0b1 TypeScript 版成内存空间的 浪费。 为了解决此问题,诞生了一种被称为「列表 List」的数据结构。列表可以被理解为长度可变的数组,因此也常 被称为「动态数组 Dynamic Array」。列表基于数组实现,继承了数组的优点,同时还可以在程序运行中实时 4. 数组与链表 hello‑algo.com 53 扩容。在列表中,我们可以自由地添加元素,而不用担心超过容量限制。 4.3.1. 列表常用操作0 码力 | 186 页 | 14.71 MB | 1 年前3
Hello 算法 1.1.0 TypeScript版存储多少数据,从而难以选择合适的列表长度。若长度过小,则很可能无法满足使用需求;若长度过大,则 会造成内存空间浪费。 为解决此问题,我们可以使用动态数组(dynamic array)来实现列表。它继承了数组的各项优点,并且可以 在程序运行过程中进行动态扩容。 实际上,许多编程语言中的标准库提供的列表是基于动态数组实现的,例如 Python 中的 list 、Java 中的 ArrayList0 码力 | 383 页 | 18.49 MB | 1 年前3
Hello 算法 1.0.0b5 TypeScript 版数组;若长度过大,则会造成内存空间的浪费。 为解决此问题,出现了一种被称为「动态数组 dynamic array」的数据结构,即长度可变的数组,也常被称 为「列表 list」。列表基于数组实现,继承了数组的优点,并且可以在程序运行过程中动态扩容。我们可以在 列表中自由地添加元素,而无须担心超过容量限制。 4.3.1 列表常用操作 1. 初始化列表 我们通常使用“无初始值”和“有初始值”这两种初始化方法。0 码力 | 378 页 | 30.70 MB | 1 年前3
Hello 算法 1.2.0 简体中文 TypeScript 版存储多少数据,从而难以选择合适的列表长度。若长度过小,则很可能无法满足使用需求;若长度过大,则 会造成内存空间浪费。 为解决此问题,我们可以使用动态数组(dynamic array)来实现列表。它继承了数组的各项优点,并且可以 在程序运行过程中进行动态扩容。 实际上,许多编程语言中的标准库提供的列表是基于动态数组实现的,例如 Python 中的 list 、Java 中的 ArrayList0 码力 | 383 页 | 18.49 MB | 10 月前3
共 8 条
- 1













