From bdc7fabbcc1ac4647203598b936d108f80ee7572 Mon Sep 17 00:00:00 2001 From: MonkeyDEcho <863626156@qq.com> Date: Thu, 10 Aug 2017 19:27:10 +0800 Subject: [PATCH] translated --- ...220 TypeScript the missing introduction.md | 427 ++++++++++++++++++ 1 file changed, 427 insertions(+) create mode 100644 translated/tech/20161220 TypeScript the missing introduction.md diff --git a/translated/tech/20161220 TypeScript the missing introduction.md b/translated/tech/20161220 TypeScript the missing introduction.md new file mode 100644 index 0000000000..53c7e84782 --- /dev/null +++ b/translated/tech/20161220 TypeScript the missing introduction.md @@ -0,0 +1,427 @@ +简洁的介绍TypeScript +============================================================= + + +**下文是James Henry([@MrJamesHenry][8])所编辑的内容。我是ESLint核心团队的一员,也是TypeScript的热衷者和发扬者。我和Todd合作在[UltimateAngular][9]平台上发布Angular和TypeScript的精品课程。** + +> 本文的主旨是为了介绍我们对TypeScript的思考和在JavaScript开发当中的更好的使用。 +> +> 我们将给出编译和关键字准确的定义 + +TypeScript强大之处远远不止这些,本篇文章无法涵盖,想要了解更多请阅读官方文档[official document][15],或者查阅[TypeScript courses over on UltimateAngular][16]UltimateAngular平台的TypeScript精品课程-从初学者到TypeScript高手 + +### [目录][17] + +* [背景][10] +* [关键知识的掌握][11] + * [JavaScript解释型语言还是编译型语言][1] + * [运行时间 VS 编译时间][2] + * [TypeScript编译器][3] + * [动态类型 VS 静态类型][4] +* [TypeScript在我们JavaScript工作流程中的作用][12] + * [我们的源文件是我们的文档,TypeScript是我们的拼写检查][5] +* [TypeScript是一种可以启动其它工具的工具][13] + * [什么是抽象语法树(AST)?][6] + * [示例:在VS中重命名符号][7] +* [总结][14] + +### [背景][18] + +TypeScript是很容易掌握的强大开发工具 + +然而,TypeScript可能比JavaScript要更为复杂,因为TypeScript可能同时向我们介绍以前没有考虑到的JavaScript程序相关的一些列技术概念。 + +每当我们谈论到类型、编译器等这些概念的时候。事情就会变的非常麻烦和不知所云起来。 + +这篇文章就是为了你在学习过程中你需要知道的许许多多不知所云的概念解答的,来帮助你TypeScript入门的,让你轻松自如的应对这些概念。 + +### [关键知识的掌握][19] + +有时候运行我们的代码是在Web浏览器中运行,和我们平常运行代码有不同的感觉,它是怎样运行自己书写的代码的?“没有经过编译的,是正确的吗?”。“我敢肯定没有类型的...” + +情况变的更有趣了,当我们知道通过前后程序的定义来判断语法的正确与否 + +首先我们要作的是 + +#### [JavaScript 解释型语言还是编译型语言][20] + +传统意义上,程序员经常将自己的程序编译之后运行出结果就认为这种语言是编译型语言。 + +> 从初学者的角度来说,编译的过程就是将我们自己编辑好的高级语言程序转换成机器实际运行过程中能够看懂的格式(一般是二进制文件格式)。 + +就像GO语言,可以使用go build的命令行工具编译.go的文件格式,将其编译成较低级的语言,可以直接运行的格式。(译者没有使用过GO语言,不清楚GO编译过程的机制,试着用C语言的方式说明) + +``` +# We manually compile our .go file into something we can run +# using the command line tool "go build" +go build ultimate-angular.go +# ...then we execute it! +./ultimate-angular +``` + +我们在日常使用JavaScript开发的时候并没有编译的这一步,这是JavaScript忽略了我们程序员对新一代构建工具和模块加载程序的热爱。 + +我们编写JavaScript代码在浏览器的