《typescript deep drive》是一本 typescript 实战书,本书讲解了 typescript 的一些核心知识和常见问题,目前还没有中文版本。so 突发奇想,由社区驱动社区共建项目的方式,把这本书译成中文,以方便阅读推广。请大家跟贴报名,自领章节。
注: 发现网上已有《深入挖掘 TypeScript》,不过还是一年前的版本,已经严重滞后于最新的英文版。让我们以社区的力量接过前人的大棒,�继续其未尽的事业吧。
特别感谢《typescript deep drive》中文版 原著译者 @ZenDay 的辛苦付出 https://github.com/ZenDay/TypeScipt-Deep-Dive-chinese-version
首先你要有一个 github 帐号 如果没有请先 注册 GitHub 帐号
贡献方式一
克隆项目到本地
git clone --depth 1 [email protected]:virtoolswebplayer/typescript-book-chinese.git
翻译-->保存-->提交-->推送
贡献方式二
将项目fork到自己的帐号里,译者在自己fork的项目上完成翻译工作后,通过 pull request
的方式请求合并。具体请参考 github的多人协作
避免翻译冲突
为了避免翻译冲突,请大家在翻译之前务必先在
翻译计划
对应的文章标题上加入自己的名字
章节领取规则为: 文章标题 [译:姓名]
,姓名可为中文名或 github 帐户名,一定要让我知道你是谁^_^
例如:Getting Started [译:高乐天]
中英文对照翻译
为了更好的较对,请译者必须保留英文原文,以中英文对照的方式翻译。等所有章节翻译完成后,经过校对没问题之后再统一将英文部分删除。
例如:
# Why TypeScript
# 为什么选择 TypeScript
There are two main goals of TypeScript:
使用Typescript主要有两个目的:
* Provide an *optional type system* for JavaScript.
* TS 为`Javascript`提供了`可选类型系统`
* Provide planned features from future JavaScript editions to current JavaScript engines
* TS 可以让你使用`Javascript未来版本`计划支持的特性,并且运行在当前版本的JavaScript引擎上。
- Getting Started [译:高乐天]
- Why TypeScript [译:高乐天]
- JavaScript [译:高乐天]
- Equality [译:高乐天]
- References [译:高乐天]
- Null vs. Undefined [译:高乐天]
- this [译:高乐天]
- Closure [译:高乐天]
- Number [译:高乐天]
- Future JavaScript Now [译:Kntt]
- Classes [译:Kntt]
- Classes Emit [译:Kntt]
- Arrow Functions [译:Kntt]
- Rest Parameters [译:Kntt]
- let [译:Kntt]
- const [译:Kntt]
- Destructuring [译:Kntt]
- Spread Operator [译:Kntt]
- for...of [译:Kntt]
- Iterators [译:Kntt]
- Template Strings [译:Kntt]
- Promise [译:Kntt]
- Generators [译:Kntt]
- Async Await [译:Kntt]
- Classes [译:Kntt]
- Project [译:ocian]
- Compilation Context [译:ocian]
- tsconfig.json [译:ocian]
- Which Files? [译:ocian]
- Declaration Spaces [译:ocian]
- Modules [译:ocian]
- File Module Details [译:ocian]
- globals.d.ts [译:ocian]
- Namespaces [译:ocian]
- Dynamic Import Expressions [译:ocian]
- Compilation Context [译:ocian]
- Node.js QuickStart [译:李润泽]
- Browser QuickStart [译:李润泽]
- TypeScript's Type System [译:李润泽]
- JS Migration Guide [译:李润泽]
- @types [译:李润泽]
- Ambient Declarations [译:李润泽]
- Declaration Files [译:李润泽]
- Variables [译:李润泽]
- Interfaces [译:李润泽]
- Enums [译:李润泽]
lib.d.ts
- Functions
- Callable
- Type Assertion
- Freshness
- Type Guard
- Literal Types
- Readonly
- Generics
- Type Inference
- Type Compatibility
- Never Type
- Discriminated Unions
- Index Signatures
- Moving Types
- Exception Handling
- Mixins
- JSX [译:郑少农]
- React [译:郑少农]
- Non React JSX [译:郑少农]
- Options [译:郑少农]
- noImplicitAny [译:郑少农]
- strictNullChecks [译:郑少农]
- Testing
- Tools
- TIPs
- String Based Enums
- Nominal Typing
- Stateful Functions
- Bind is Bad
- Currying
- Type Instantiation
- Lazy Object Literal Initialization
- Classes are Useful
- Avoid Export Default
- Limit Property Setters
outFile
caution- JQuery tips
- static constructors
- singleton pattern
- Function parameters
- Truthy
- Build Toggles
- Barrel
- Create Arrays
- Typesafe Event Emitter
- StyleGuide
- Common Errors
- TypeScript Compiler Internals