1.1.1 始于JavaScript,终于JavaScript
TypeScript是一门专为开发大规模JavaScript应用程序而设计的编程语言,是JavaScript的超集,包含了JavaScript现有的全部功能,并且使用了与JavaScript相同的语法和语义。因此,JavaScript程序本身已经是合法的TypeScript程序了。
开发者不但能够快速地将现有的JavaScript程序迁移到TypeScript,而且能够继续使用依赖的JavaScript代码库,比如jQuery等。因此,就算现有工程中依赖的第三方代码库没有迁移到TypeScript,它也不会阻碍程序开发。反之,TypeScript能够让我们更好地利用现有的JavaScript代码库。
TypeScript代码不能直接运行,它需要先被编译成JavaScript代码然后才能运行。Type-Script编译器(tsc)将负责把TypeScript代码编译为JavaScript代码。
例如,一个TypeScript文件的内容如下:
01 function sum(x: number, y: number): number { 02 return x + y; 03 } 04 05 const total = sum(1, 2);
经过编译后输出的JavaScript文件的内容如下:
01 "use strict"; 02 function sum(x, y) { 03 return x + y; 04 } 05 const total = sum(1, 2);
目前,我们不需要理解这段程序所实现的具体功能。仅通过对比编译之前和之后的代码,我们能够看到编译器生成的JavaScript代码既清晰又简洁,并且两者之间在代码结构上几乎没有明显变化。在阅读由编译器生成的JavaScript代码时,并不会让开发者强烈地感觉到代码是由机器生成的。相反,它符合开发者平时的代码编写习惯。
读到这里,你可能会产生一个疑问,是不是因为示例程序太简单了,所以生成的代码才会如此清晰简洁?答案是否定的。实际上这种行为是TypeScript语言的基本设计原则之一:TypeScript应该生成简洁、符合编写习惯并易于识别的JavaScript代码;TypeScript不应该对代码进行激进的性能优化。