TypeScript 类型系统TypeScript 类型系统 2 0 2 1 年 1 月 2 1 日 分 享 人 陈 文 岗 : 学 校 中国科学院大学 : 关于TypeScript 2 TypeScript是微软推出的JavaScript静态类型版本,它是 JavaScript的超集,可以编译为纯粹的JavaScript TypeScript 到 JavaScript 3 add.ts add.js add 6 TypeScript 高级类型 7 TypeScript 高级类型 8 TypeScript 特殊类型 9 TypeScript 结构类型系统 10 标明类型系统 即使两个类的结构完全一致,也不能互相赋值 结构类型系统 类型形状一致即可互相赋值 TypeScript 类型声明空间 11 类型声明空间里包含用来当做类型注解的内容 类型不能赋给一个变量,也不能作为值进行传递(class除外)0 码力 | 25 页 | 1.27 MB | 1 年前3
Hello 算法 1.1.0 TypeScript版从巧夺天工的匠人技艺、 到解放生产力的工业产品、再到宇宙运行的科学规律,几乎每一件平凡或令人惊叹的事物背后,都隐藏着精 妙的算法思想。 同样,数据结构无处不在:大到社会网络,小到地铁线路,许多系统都可以建模为“图”;大到一个国家,小 到一个家庭,社会的主要组织形式呈现出“树”的特征;冬天的衣服就像“栈”,最先穿上的最后才能脱下; 羽毛球筒则如同“队列”,一端放入、另一端取出;字典就像一个“哈希表”,能够快速查找目标词条。 141 7.3 二叉树数组表示 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 146 7.4 二叉搜索树 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 150 7.5 AVL 树 * . 小结 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 204 第 10 章 搜索 206 10.1 二分查找 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2070 码力 | 383 页 | 18.49 MB | 1 年前3
Hello 算法 1.2.0 简体中文 TypeScript 版从巧夺天工的匠人技艺、 到解放生产力的工业产品、再到宇宙运行的科学规律,几乎每一件平凡或令人惊叹的事物背后,都隐藏着精 妙的算法思想。 同样,数据结构无处不在:大到社会网络,小到地铁线路,许多系统都可以建模为“图”;大到一个国家,小 到一个家庭,社会的主要组织形式呈现出“树”的特征;冬天的衣服就像“栈”,最先穿上的最后才能脱下; 羽毛球筒则如同“队列”,一端放入、另一端取出;字典就像一个“哈希表”,能够快速查找目标词条。 141 7.3 二叉树数组表示 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 146 7.4 二叉搜索树 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 150 7.5 AVL 树 * . 小结 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 205 第 10 章 搜索 206 10.1 二分查找 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2070 码力 | 383 页 | 18.49 MB | 11 月前3
Hello 算法 1.0.0b5 TypeScript 版136 7.3 二叉树数组表示 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141 7.4 二叉搜索树 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145 7.5 AVL 树 * . 小结 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 201 第 10 章 搜索 202 10.1 二分查找 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 203 10.4 哈希优化策略 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 214 10.5 重识搜索算法 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 216 10.6 小结 . . . . .0 码力 | 378 页 | 30.70 MB | 1 年前3
Hello 算法 1.0.0b1 TypeScript 版2. 二叉树遍历 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97 7.3. 二叉搜索树 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101 7.4. AVL 树 * 数据结构:常用的基本数据类型,数据在内存中的存储方式、数据结构分类方法。数组、链表、栈、队列、 散列表、树、堆、图等数据结构,内容包括定义、优劣势、常用操作、常见类型、典型应用、实现方法等。 ‧ 算法:查找算法、排序算法、搜索与回溯、动态规划、分治算法,内容包括定义、使用场景、优劣势、时 空效率、实现方法、示例题目等。 0. 写在前面 hello‑algo.com 2 Figure 0‑1. Hello 算法内容结构 学习与进步! Figure 0‑7. 评论区示例 0. 写在前面 hello‑algo.com 7 0.3. 小结 ‧ 本书主要面向算法初学者。对于已经有一定积累的同学,这本书可以帮助你系统回顾算法知识,源代码 可被当作“刷题工具库”来使用。 ‧ 书中内容主要分为复杂度分析、数据结构、算法三部分,覆盖了该领域的大部分主题。 ‧ 对于算法小白,在初学阶段阅读一本入门书是非常有必要的,可以少走许多弯路。0 码力 | 186 页 | 14.71 MB | 1 年前3
TypeScript Handbook(中文版)
那么TypeScript究竟为何物?又有什么 魅力呢? TypeScript是Microsoft公司注册商标。 TypeScript具有类型系统,且是JavaScript的超集。 它可以编译成普通的JavaScript 代码。 TypeScript支持任意浏览器,任意环境,任意系统并且是开源的。 TypeScript目前还在积极的开发完善之中,不断地会有新的特性加入进来。 因此本 手册也会紧随官方的每个 UseDefaultFiles(); app.UseStaticFiles(); } VS2017 打开 Dependencies > Manage NuGet Packages > Browse。搜索并安 装 Microsoft.AspNetCore.StaticFiles 1.1.2: 如下替换掉 Startup.cs 里 Configure 的内容: public void C TypeScript Handbook(中文版) 43 Gulp 安装依赖项 现在我们可以使用 npm install 命令来安装包。 首先全局安装 gulp-cli (如 果你使用Unix系统,你可能需要在 npm install 命令上使用 sudo )。 npm install -g gulp-cli 然后安装 typescript , gulp 和 gulp-typescript0 码力 | 557 页 | 7.48 MB | 1 年前3
TypeScript 4.0 使用手册
Script开发。 ✔ TypeScript支持类型,是 JavaScript的超集且可以编译成纯JavaScript代码。 ✔ TypeScript兼容所有浏览器,所有宿主 环境,所有操作系统。 ✔ TypeScript是开源的。 一大波新的快速开始指南:React,Angular,Nodejs,ASP.NET Core,React Native, Vue,Glimmer,WeChat,Dojo2,Knockout等 TypeScript究竟为何物?又有什么魅力呢? TypeScript是Microsoft公司注册商标。 TypeScript具有类型系统,且是JavaScript的超集。 它可以编译成普通的JavaScript代码。 TypeScript支持任意浏览器,任意环境,任意系统并且是开源的。 TypeScript目前还在积极的开发完善之中,不断地会有新的特性加入进来。 因此本手册也会紧随官 方的每个c UseDefaultFiles(); 5. app.UseStaticFiles(); 6. } 打开 Dependencies > Manage NuGet Packages > Browse。搜索并安 装 Microsoft.AspNetCore.StaticFiles 1.1.2: 如下替换掉 Startup.cs 里 Configure 的内容: 1. public void0 码力 | 683 页 | 6.27 MB | 1 年前3
Hello 算法 1.2.0 繁体中文 TypeScript 版圖的走訪 樹代表的是“一對多”的關係,而圖則具有更高的自由度,可以表示任意的“多對多”關係。因此,我們可以 把樹看作圖的一種特例。顯然,樹的走訪操作也是圖的走訪操作的一種特例。 圖和樹都需要應用搜索演算法來實現走訪操作。圖的走訪方式也可分為兩種:廣度優先走訪和深度優先走訪。 第 9 章 圖 www.hello‑algo.com 200 9.3.1 廣度優先走訪 廣度優先走訪是一種由近及遠 在演算法題中,我們常透過將線性查詢替換為雜湊查詢來降低演算法的時間複雜度。我們藉助一個演算法題 來加深理解。 Question 給定一個整數陣列 nums 和一個目標元素 target ,請在陣列中搜索“和”為 target 的兩個元素,並返 回它們的陣列索引。返回任意一個解即可。 10.4.1 線性查詢:以時間換空間 考慮直接走訪所有可能的組合。如圖 10‑9 所示,我們開啟一個兩層迴圈,在每輪中判斷兩個整數的和是否為 因此它是本題的最優解法。 第 10 章 搜尋 www.hello‑algo.com 221 10.5 重識搜尋演算法 搜尋演算法(searching algorithm)用於在資料結構(例如陣列、鏈結串列、樹或圖)中搜索一個或一組滿足 特定條件的元素。 搜尋演算法可根據實現思路分為以下兩類。 ‧ 透過走訪資料結構來定位目標元素,例如陣列、鏈結串列、樹和圖的走訪等。 ‧ 利用資料組織結構或資料包含的先驗資訊,0 码力 | 384 页 | 18.80 MB | 11 月前3
TypeScript的发展历程●纯语法糖,动态类型 ●上手简单 ●工具不良 ●与新标准有冲突 BuckleScript ●脱胎于OCaml ●类型系统强大 ●编译高度优化 ●语义语法疏远,上手难* Flow Type ●JS+类型标注 ●工具相对完善 ●上手容易 ●与TS设计相似* 比较 类型系统 难度 工具链 CoffeeScript 动态 低 差 BuckleScript 很强 高 较好 FlowType 强 snd[id] return ret } // no annotation! merge({name: 'moe'}, {age: 50}) TS 1.8 ●字面量类型 ●JS特有类型系统的第一步 $element.animate({ x: 114, y: 514, // ease-in, ease-out ease: 'ease-in' }) interface compile error lenNullable([1, 2, 3]) // ok lenNullable(null) // ok TS 2.1+ ●Lookup Type ●JS特有类型系统的集大成作 // We can query property name of a Type interface Person { name: string age: number0 码力 | 64 页 | 6.17 MB | 1 年前3
Programming TypeScriptTS TS 编译成 JS 时,不会考 类型。 这意味着,程序中的类型对程序生成的输出没有任何影响,类型只在类型检查这一步使用。 类型系统 ● 一般的有两种类型系统 1. 通过显示句法告诉编译器所有值的类型(注解) 2. 自动推导类型 ● TS 身兼两种类型系统 // 建议 原文链接:Programming TypeScript 一般来说,最好让TS 推导类型,少数情况下才显式注解类型。(Why0 码力 | 3 页 | 202.08 KB | 1 年前3
共 10 条
- 1













