TypeScript Handbook(中文版)
greeter(user); 类型注解 TypeScript里的类型注解是一种轻量级的为函数或变量添加约束的方式。 在这个例 子里,我们希望 greeter 函数接收一个字符串参数。 然后尝试把 greeter 的调 用改成传入一个数组: function greeter(person: string) { return "Hello, " + person; } var user = [0, 1 个可选的回调属性到 Props ,它们分别是 onIncrement 和 onDecrement : export interface Props { name: string; enthusiasmLevel?: number; onIncrement?: () => void; onDecrement?: () => void; } 然后将这两个回调绑定到两个新按钮上,将按钮添加到我们的组件里。 组件转换成一个容器,通过以下两个函数: mapStateToProps 将当前store里的数据以我们的组件需要的形式传递到组 件。 mapDispatchToProps 利用 dispatch 函数,创建回调props将actions送到 store。 回想一下,我们的应用包含两个属性: languageName 和 enthusiasmLevel 。 我们的 Hello 组件,希望得到一个0 码力 | 557 页 | 7.48 MB | 1 年前3TypeScript 4.0 使用手册
注意,有两个script标签。 首先,我们引入RequireJS。 然后我们再在 require-config.js 里 映射外部依赖,这样RequireJS就能知道到哪里去查找它们。 最后,使用我们要去加载的模块去调 用 require 。 将所有部分整合在一起 Knockout.js - 51 - 本文档使用 书栈网 · BookStack.CN 构建 运行 1. tsc 现在,在你喜欢的浏览器打开 你可以在这里阅读更多关于这个概念的细节:Dan Abramov写的_表现层的容器组件_。 现在我们修改 src/components/Hello.tsx ,让它可以修改状态。 我们将添加两个可选的回调属性 到 Props ,它们分别是 onIncrement 和 onDecrement : 1. export interface Props { 2. name: string; enthusiasmLevel?: number; 4. onIncrement?: () => void; 5. onDecrement?: () => void; 6. } 然后将这两个回调绑定到两个新按钮上,将按钮添加到我们的组件里。 1. function Hello({ name, enthusiasmLevel = 1, onIncrement, onDecrement }:0 码力 | 683 页 | 6.27 MB | 1 年前3TypeScript 多场景设计方案及应用实践
接⼊入治理理 使⽤用 TS 72.9% 91% TS 来看看问题 TS 复杂度逐步增加 - 全栈应⽤用 成为中流砥柱 - 核⼼心应⽤用 ⾯面向外部⽤用户 - ⼤大流量量 TS 调⽤用 http 服务,没有调⽤用定义 提供 RPC 接⼝口时,需要写 JSDoc TS Node.js 测试靠⼈人⾁肉 Node.js Import TypeScript TS 我们都知道 TypeScript @func,⽤用⽼老老办法处理理。 场景切换,代码⼀一致 TS 从 Web 到 FaaS 场景切换,代码⼀一致 TS 跨平台的考虑 1、调⽤用⽅方式的不不同 2、数据参数的不不同 3、描述⽂文件的不不同 不不同的平台需要有不不同的的调⽤用⽅方式,由于 typescript 的编 译⽬目录不不同,可以通过构建的阶段将⼊入⼝口⽂文件动态创建进去。 多个平台的⼀一致性考虑 TS0 码力 | 95 页 | 8.28 MB | 1 年前3Hello 算法 1.2.0 繁体中文 TypeScript 版
若你是演算法初學者,從未接觸過演算法,或者已經有一些刷題經驗,對資料結構與演算法有模糊的認識, 在會與不會之間反覆橫跳,那麼本書正是為你量身定製的! 如果你已經積累一定的刷題量,熟悉大部分題型,那麼本書可助你回顧與梳理演算法知識體系,倉庫源程式 碼可以當作“刷題工具庫”或“演算法字典”來使用。 若你是演算法“大神”,我們期待收到你的寶貴建議,或者一起參與創作。 前置條件 你需要至少具備任一語言的程式設計基礎,能夠閱讀和編寫簡單程式碼。 感謝我的女朋友泡泡作為本書的首位讀者,從演算法小白的角度提出許多寶貴建議,使得本書更適合 新手閱讀; ‧ 感謝騰寶、琦寶、飛寶為本書起了一個富有創意的名字,喚起大家寫下第一行程式碼“Hello World!” 的美好回憶; ‧ 感謝校銓在智慧財產權方面提供的專業幫助,這對本開源書的完善起到了重要作用; ‧ 感謝蘇潼為本書設計了精美的封面和 logo ,並在我的強迫症的驅使下多次耐心修改; ‧ 感謝 @squidfunk 和階段三的學習。 第 0 章 前言 www.hello‑algo.com 9 圖 0‑8 演算法學習路線 0.3 小結 ‧ 本書的主要受眾是演算法初學者。如果你已有一定基礎,本書能幫助你系統回顧演算法知識,書中源程 式碼也可作為“刷題工具庫”使用。 ‧ 書中內容主要包括複雜度分析、資料結構和演算法三部分,涵蓋了該領域的大部分主題。 ‧ 對於演算法新手,在初學階段閱讀一本入門書至關重要,可以少走許多彎路。0 码力 | 384 页 | 18.80 MB | 9 月前3Hello 算法 1.1.0 TypeScript版
降低算法的时间复杂度。我们借助一个算法题来加深 理解。 Question 给定一个整数数组 nums 和一个目标元素 target ,请在数组中搜索“和”为 target 的两个元素,并返 回它们的数组索引。返回任意一个解即可。 10.4.1 线性查找:以时间换空间 考虑直接遍历所有可能的组合。如图 10‑9 所示,我们开启一个两层循环,在每轮中判断两个整数的和是否为 target ,若是,则返回它们的索引。 mid) { tmp[k++] = nums[i++]; } while (j <= right) { tmp[k++] = nums[j++]; } // 将临时数组 tmp 中的元素复制回原数组 nums 的对应区间 for (k = 0; k < tmp.length; k++) { nums[left + k] = tmp[k]; } } /* 归并排序 */ function0 码力 | 383 页 | 18.49 MB | 1 年前3Hello 算法 1.0.0b5 TypeScript 版
1000 0011 → −3 为了解决此问题,计算机引入了「反码 1’s complement code」。如果我们先将原码转换为反码,并在反码 下计算 1 + (−2) ,最后将结果从反码转化回原码,则可得到正确结果 −1 。 第 3 章 数据结构 hello‑algo.com 54 1 + (−2) → 0000 0001 (原码) + 1000 0010 (原码) = 0000 0001 ? 的有序数组 nums 和一个元素 target ,数组不存在重复元素。现将 target 插入到数组 nums 中,并保持其有序性。若数组中已存在元素 target ,则插入到其左方。请返 回插入后 target 在数组中的索引。 图 10‑4 二分查找插入点示例数据 如果想要复用上节的二分查找代码,则需要回答以下两个问题。 问题一:当数组中包含 target 时,插入点的索引是否是该元素的索引?0 码力 | 378 页 | 30.70 MB | 1 年前3Hello 算法 1.2.0 简体中文 TypeScript 版
降低算法的时间复杂度。我们借助一个算法题来加深 理解。 Question 给定一个整数数组 nums 和一个目标元素 target ,请在数组中搜索“和”为 target 的两个元素,并返 回它们的数组索引。返回任意一个解即可。 10.4.1 线性查找:以时间换空间 考虑直接遍历所有可能的组合。如图 10‑9 所示,我们开启一个两层循环,在每轮中判断两个整数的和是否为 target ,若是,则返回它们的索引。 mid) { tmp[k++] = nums[i++]; } while (j <= right) { tmp[k++] = nums[j++]; } // 将临时数组 tmp 中的元素复制回原数组 nums 的对应区间 for (k = 0; k < tmp.length; k++) { nums[left + k] = tmp[k]; } } /* 归并排序 */ function0 码力 | 383 页 | 18.49 MB | 9 月前3Hello 算法 1.0.0b1 TypeScript 版
。 暂存空间可分为三个部分: ‧「暂存数据」用于保存算法运行中的各种 常量、变量、对象 等。 ‧「栈帧空间」用于保存调用函数的上下文数据。系统每次调用函数都会在栈的顶部创建一个栈帧,函数返 回时,栈帧空间会被释放。 ‧「指令空间」用于保存编译后的程序指令,在实际统计中一般忽略不计。 Figure 2‑9. 算法使用的相关空间 /* 类 */ class Node { 2. 复杂度分析0 码力 | 186 页 | 14.71 MB | 1 年前3
共 8 条
- 1