TypeScript Handbook(中文版)
2.12 3 3.1 3.2 目录 介绍 快速上手 5分钟了解TypeScript ASP.NET Core ASP.NET 4 Gulp Knockout.js React与webpack React Angular 2 从JavaScript迁移到TypeScript 新增功能 TypeScript 2.4 TypeScript 2.3 TypeScript 7.4 7.5 7.6 7.7 7.8 7.9 编译选项 在MSBuild里使用编译选项 与其它构建工具整合 使用TypeScript的每日构建版本 Wiki TypeScript里的this 编码规范 常见编译错误 支持TypeScript的编辑器 结合ASP.NET v5使用TypeScript 架构概述 发展路线图 Breaking Changes TypeScript TypeScript是Microsoft公司注册商标。 TypeScript具有类型系统,且是JavaScript的超集。 它可以编译成普通的JavaScript 代码。 TypeScript支持任意浏览器,任意环境,任意系统并且是开源的。 TypeScript目前还在积极的开发完善之中,不断地会有新的特性加入进来。 因此本 手册也会紧随官方的每个commit,不断地更新新的章节以及修改措词不妥之处。0 码力 | 557 页 | 7.48 MB | 1 年前3
TypeScript 4.0 使用手册
致谢 README Introduction 快速上手 5分钟了解TypeScript ASP.NET Core ASP.NET 4 Gulp Knockout.js React与webpack React Angular 2 从JavaScript迁移到TypeScript 手册 基础类型 变量声明 接口 类 函数 泛型 枚举 类型推论 类型兼容性 - 2 - 本文档使用 书栈网 · BookStack.CN 构建 实用工具类型 如何书写声明文件 介绍 库结构 举例 最佳实践 深入 模板 发布 使用 工程配置 tsconfig.json 工程引用 NPM包的类型 编译选项 配置 Watch 在MSBuild里使用编译选项 与其它构建工具整合 使用TypeScript的每日构建版本 Wiki TypeScript里的this TypeScript里的this 编码规范 常见编译错误 支持TypeScript的编辑器 结合ASP.NET v5使用TypeScript 架构概述 发展路线图 新增功能 TypeScript 4.0 TypeScript 3.9 TypeScript 3.8 TypeScript 3.7 TypeScript 3.6 TypeScript 3.5 TypeScript 3.40 码力 | 683 页 | 6.27 MB | 1 年前3
Hello 算法 1.1.0 TypeScript版作者:靳宇栋(@krahets) 代码审阅:谢发 (@justin‑tse) Release 1.1.0 2024‑04‑15 序 两年前,我在力扣上分享了“剑指 Offer”系列题解,受到了许多读者的鼓励和支持。在与读者交流期间,我 最常被问的一个问题是“如何入门算法”。逐渐地,我对这个问题产生了浓厚的兴趣。 两眼一抹黑地刷题似乎是最受欢迎的方法,简单、直接且有效。然而刷题就如同玩“扫雷”游戏,自学能力 强 力,啃厚重的书往往变成了一项艰巨的挑战。 如果你也面临类似的困扰,那么很幸运这本书“找”到了你。本书是我对这个问题给出的答案,即使不是最 优解,也至少是一次积极的尝试。本书虽然不足以让你直接拿到 Offer,但会引导你探索数据结构与算法的 “知识地图”,带你了解不同“地雷”的形状、大小和分布位置,让你掌握各种“排雷方法”。有了这些本领, 相信你可以更加自如地刷题和阅读文献,逐步构建起完整的知识体系。 我深深赞同费曼教授所言:“Knowledge 网页版以获得更优的阅读体验。 推荐语 “一本通俗易懂的数据结构与算法入门书,引导读者手脑并用地学习,强烈推荐算法初学者阅读!” ——邓俊辉,清华大学计算机系教授 “如果我当年学数据结构与算法的时候有《Hello 算法》,学起来应该会简单 10 倍!” ——李沐,亚马逊资深首席科学家 计算机的出现给世界带来了巨大变革,它凭借高速的计算能力和出色的可编程性,成为了执行算法与处理数 据的理想媒介。无论是电子游戏的逼真画面、自动驾驶的智能决策,还是0 码力 | 383 页 | 18.49 MB | 1 年前3
Hello 算法 1.2.0 简体中文 TypeScript 版作者:靳宇栋(@krahets) 代码审阅:谢发 (@justin‑tse) Release 1.2.0 2024‑12‑06 序 两年前,我在力扣上分享了“剑指 Offer”系列题解,受到了许多读者的鼓励和支持。在与读者交流期间,我 最常被问的一个问题是“如何入门算法”。逐渐地,我对这个问题产生了浓厚的兴趣。 两眼一抹黑地刷题似乎是最受欢迎的方法,简单、直接且有效。然而刷题就如同玩“扫雷”游戏,自学能力 强 力,啃厚重的书往往变成了一项艰巨的挑战。 如果你也面临类似的困扰,那么很幸运这本书“找”到了你。本书是我对这个问题给出的答案,即使不是最 优解,也至少是一次积极的尝试。本书虽然不足以让你直接拿到 Offer,但会引导你探索数据结构与算法的 “知识地图”,带你了解不同“地雷”的形状、大小和分布位置,让你掌握各种“排雷方法”。有了这些本领, 相信你可以更加自如地刷题和阅读文献,逐步构建起完整的知识体系。 我深深赞同费曼教授所言:“Knowledge 网页版以获得更优的阅读体验。 推荐语 “一本通俗易懂的数据结构与算法入门书,引导读者手脑并用地学习,强烈推荐算法初学者阅读!” ——邓俊辉,清华大学计算机系教授 “如果我当年学数据结构与算法的时候有《Hello 算法》,学起来应该会简单 10 倍!” ——李沐,亚马逊资深首席科学家 计算机的出现给世界带来了巨大变革,它凭借高速的计算能力和出色的可编程性,成为了执行算法与处理数 据的理想媒介。无论是电子游戏的逼真画面、自动驾驶的智能决策,还是0 码力 | 383 页 | 18.49 MB | 10 月前3
Hello 算法 1.0.0b5 TypeScript 版TypeScript 语言版 靳宇栋(Krahets) Release 1.0.0b5 2023‑09‑10 序 两年前,我在力扣上分享了《剑指 Offer》系列题解,受到了许多同学的喜爱和支持。在与读者的交流期间, 最常收到的一个问题是“如何入门学习算法”。我逐渐对这个问题产生了浓厚的兴趣。 两眼一抹黑地刷题似乎是最受欢迎的方法,简单直接且有效。刷题就如同玩“扫雷”游戏,自学能力强的同 学 精力,厚重的书籍往往变成了一项艰巨的挑战。 如果你也面临类似的困扰,那么很幸运这本书找到了你。本书是我对此问题的给出的答案,即使不是最优解, 也至少是一次积极的尝试。这本书虽然不足以让你直接拿到 Offer ,但会引导你探索数据结构与算法的“知 识地图”,带你了解不同“地雷”的形状大小和分布位置,让你掌握各种“排雷方法”。有了这些本领,相信 你可以更加自如地应对刷题和阅读文献,逐步构建起完整的知识体系。 本书中的代码附有可一键运行的源文件,托管于 网页版以获得更优的阅读体验。 推荐语 “一本通俗易懂的数据结构与算法入门书,引导读者手脑并用地学习,强烈推荐算法初学者阅读。” ——邓俊辉,清华大学计算机系教授 “如果我当年学数据结构与算法的时候有《Hello 算法》,学起来应该会简单 10 倍!” ——李沐,亚马逊资深首席科学家 致谢 本书在开源社区众多贡献者的共同努力下不断成长。感谢每一位投入时间与精力的撰稿人,他们是 (按照 GitHub 自动生成的顺序):krahets0 码力 | 378 页 | 30.70 MB | 1 年前3
Hello 算法 1.0.0b1 TypeScript 版TypeScript 语言版 靳宇栋(Krahets) Release 1.0.0b1 2023‑03‑01 序 两年前,我在力扣上分享了《剑指 Offer》系列题解,受到了很多小伙伴的喜爱与支持。在此期间,我也回复 了许多读者的评论问题,遇到最多的问题是“如何入门学习算法”。我渐渐也对这个问题好奇了起来。 两眼一抹黑地刷题应该是最受欢迎的方式,简单粗暴且有效。然而,刷题就如同玩“扫雷”游戏,自学能力强 问题给出的答案,虽然不一定正确,但至 少代表一次积极的尝试。这本书虽然不足以让你直接拿到 Offer ,但会引导你探索数据结构与算法的“知识地 图”,带你了解不同“地雷”的形状大小和分布位置,让你掌握各种“排雷方法”。有了这些本领,相信你可以 更加得心应手地刷题与阅读文献,逐步搭建起完整的知识体系。 书内的代码配有可一键运行的源文件,托管在 github.com/krahets/hello‑algo justin‑tse, krahets, nuomi1, Reanon, sjinzh 完成,感谢他们的辛勤付出! 推荐语 “一本通俗易懂的数据结构与算法入门书,引导读者手脑并用地学习,强烈推荐算法初学者阅读。” ——邓俊辉,清华大学计算机系教授 “如果我当年学数据结构与算法的时候有《Hello 算法》,学起来应该会简单 10 倍!” ——李沐,亚马逊资深首席科学家 i 目 录 0. 写在前面 10 码力 | 186 页 | 14.71 MB | 1 年前3
Hello 算法 1.2.0 繁体中文 TypeScript 版的精彩棋局、 ChatGPT 的自然互動,這些應用都是演算法在電腦上的精妙演繹。 事實上,在電腦問世之前,演算法和資料結構就已經存在於世界的各個角落。早期的演算法相對簡單,例如 古代的計數方法與工具製作步驟等。隨著文明的進步,演算法逐漸變得更加精細和複雜。從巧奪天工的匠人 技藝、到解放生產力的工業產品、再到宇宙運行的科學規律,幾乎每一件平凡或令人驚嘆的事物背後,都隱 藏著精妙的演算法思想。 堆積 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 173 8.2 建堆積操作 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 180 8.3 Top‑k 問題 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 189 9.2 圖的基礎操作 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 193 9.3 圖的走訪 . . . . .0 码力 | 384 页 | 18.80 MB | 10 月前3
TypeScript的发展历程都可称为AltJS AltJS TypeScript ●JS + 静态类型 ●工具完善 ●贴合语言标准 TS和伙伴们 ●动态类型语法糖: CoffeeScript ●静态类型新语言: BuckleScript ●渐进定型: Flow Type CoffeeScript ●纯语法糖,动态类型 ●上手简单 ●工具不良 ●与新标准有冲突 BuckleScript ●脱胎于OCaml ●类型系统强大 ●类型系统强大 ●编译高度优化 ●语义语法疏远,上手难* Flow Type ●JS+类型标注 ●工具相对完善 ●上手容易 ●与TS设计相似* 比较 类型系统 难度 工具链 CoffeeScript 动态 低 差 BuckleScript 很强 高 较好 FlowType 强 较低 较好 TypeScript 强 低 很好 TS发展史 ●简单易用,不求完美 ●原汁原味,贴合JS ●从简单到强大 log('Runner!') }} run({ run() { console.log('Object!') } }) run(new Runner) 没有泛型怎么够 Go TS 1.0 ●引入泛型 ●与Java1.5/C#3.0相当 泛型 Generic function head(array) { return array[0] } function head(array: Array):0 码力 | 64 页 | 6.17 MB | 1 年前3
Programming TypeScript许可协议:署名-相同方式共享 4.0 国际 (CC BY-SA 4.0) TypeScript 概述 编译器 编写的代码(文本) 由 一个特殊的程序(编译器)解析,转换成抽象句法树(abstract syntax tree, AS ). AST 是去掉了空白、注释和缩进用的制表符或空格之后的数据结构。 编译器把 AST 转换成一种字节码(bytecode) 的低(底?)层表示。 字节码再传给运行时程序计算,最终得到结果。 把程序解析成AST 2. 把AST编译成字节码 3. 运行时计算字节码 TS 的特殊之处在于,它不直接编译成字节码,而是编译成JS代码 ● TS 1. TS 源码 => TS AST 2. 类型检查器检查AST 3. TS AST => JS 源码 ● JS 4. JS 源码 => JS AST 5. AST => 字节码 6. 运行时计算字节码 在这个过程中,第1-2 步骤中使用程序的类型,第三步不使用。就是说 TS TS 编译成 JS 时,不会考 类型。 这意味着,程序中的类型对程序生成的输出没有任何影响,类型只在类型检查这一步使用。 类型系统 ● 一般的有两种类型系统 1. 通过显示句法告诉编译器所有值的类型(注解) 2. 自动推导类型 ● TS 身兼两种类型系统 // 建议 原文链接:Programming TypeScript 一般来说,最好让TS 推导类型,少数情况下才显式注解类型。(Why0 码力 | 3 页 | 202.08 KB | 1 年前3
TypeScript 类型系统Type工具类型…… StaticScript | 仿TypeScript静态类型编程语言 23 基础框架:Antlr + LLVM 特性:int / float / boolean / string / array+常见基础控制语句 状态:开发中 我目前的研究方向 24 目标:基于静态分析寻找脆弱的Node.js代码 需要做的: 1. 改造TypeScript编译器 2. 搭建TypeScript静态分析框架0 码力 | 25 页 | 1.27 MB | 1 年前3
共 12 条
- 1
- 2













