typescript-book-chinese icon indicating copy to clipboard operation
typescript-book-chinese copied to clipboard

《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]
  • 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]
  • 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
    • Jest
  • Tools
    • Prettier
    • Husky
    • Changelog
  • TIPs [译:luxuehui]
    • String Based Enums [译:luxuehui]
    • Nominal Typing [译:luxuehui]
    • Stateful Functions [译:luxuehui]
    • Bind is Bad [译:luxuehui]
    • Currying [译:luxuehui]
    • Type Instantiation [译:luxuehui]
    • [Lazy Object Literal Initialization] 译:luxuehui [译:luxuehui]
    • Classes are Useful [译:luxuehui]
    • Avoid Export Default [译:luxuehui]
    • Limit Property Setters [译:luxuehui]
    • outFile caution [译:luxuehui]
    • JQuery tips [译:陈晨]
    • static constructors [译:陈晨]
    • singleton pattern [译:陈晨]
    • Function parameters [译:陈晨]
    • Truthy [译:陈晨]
    • Build Toggles [译:陈晨]
    • Barrel [译:陈晨]
    • Create Arrays [译:陈晨]
    • Typesafe Event Emitter [译:陈晨]
  • StyleGuide [译:陈晨]
  • Common Errors [译:陈晨]
  • TypeScript Compiler Internals[译:杜吉冲]
    • Program[译:杜吉冲]
    • AST[译:杜吉冲]
      • TIP: Visit Children[译:杜吉冲]
      • TIP: SyntaxKind enum[译:杜吉冲]
      • Trivia[译:杜吉冲]
    • Scanner[译:杜吉冲]
    • Parser[译:杜吉冲]
      • Parser Functions[译:杜吉冲]
    • Binder
      • Binder Functions
      • Binder Declarations
      • Binder Container
      • Binder SymbolTable
      • Binder Error Reporting
    • Checker
      • Checker Diagnostics
      • Checker Error Reporting
    • Emitter
      • Emitter Functions
      • Emitter SourceMaps
    • Contributing