TypeScript全栈开发
上QQ阅读APP看书,第一时间看更新

1.3 编写第一个TypeScript程序:Hello World

搭建好TypeScript开发环境后,你就开始编写第一个TypeScript程序。本节将演示如何用TypeScript编写程序并进行静态检查。

1.3.1 编写并运行TypeScript程序

首先,创建一个名为HelloWorld.ts的文件,代码如下。

let greeting:string = "Hello World!";
console.log(greeting);

这段代码第一眼看上去和JavaScript差不多,但仔细一看,它比JavaScript多了“:string”语句,表示将变量greeting定义为string类型。

TypeScript代码需要先通过TypeScript编译器编译成JavaScript代码,然后才能在各个浏览器或平台上运行。TypeScript代码的编译过程如图1-10所示。

图1-10 TypeScript代码的编译过程

接下来,执行以下命令,编译示例代码。

$ tsc d:\TSProject\HelloWorld.ts

执行命令后,在HelloWorld.ts所在文件夹中找到编译好的JavaScript文件HelloWorld.js,打开该文件,文件内容如下。

var greeting = "Hello World!";
console.log(greeting);

接下来,将这段JavaScript代码通过<script>标签嵌入HTML,以便在浏览器中运行;你也可以通过Node.js命令直接运行。在本例中,使用Node.js命令直接运行,命令如下。

$ node d:\TSProject\HelloWorld.js

执行结果如下。

> Hello World!

1.3.2 静态检查和智能提示

通过刚才的示例,我们已经了解了编写TypeScript程序的基本过程,但这并不足以体现TypeScript的优势。

接下来,修改HelloWorld.ts文件,修改后的文件内容如下。

let greeting:string = "Hello World!";
greeting = 123
console.log(greeting)

在本例中,我们将值123赋给了刚刚定义的string类型的变量greeting。

由于开发人员忘记了greeting是string类型的变量,因此误用了变量,改变了原来的变量类型。如果使用的是JavaScript,JavaScript并不会阻止这样的用法,代码依然可以运行,至于是否有错,需要人为判断。因此,这个问题很可能潜伏很久才被发现。

但如果使用TypeScript,在代码刚写下的一瞬间,Visual Studio Code就会检测出这个问题,并显示在问题窗口中,如图1-11所示。

图1-11 错误提示

当然,有时候并没有使用Visual Studio Code,但TypeScript在运行前会经历编译环节,因此也能在运行前检测出该问题。此时,执行如下tsc命令。

$ tsc D:\TSProject\HelloWorld.ts

命令执行结果如图1-12所示,提示编译错误。

图1-12 提示编译错误

这个例子虽然简单,但想必读者从中已经能看出TypeScript的巨大优势了。

由于TypeScript需要指定变量类型,因此当变量类型确定时,也能够确定针对该变量类型的所有操作,这为智能提示打下了基础。如果使用Visual Studio Code作为IDE,每次在变量后键入句号时,都会加载出所有针对该变量的操作以供选择,如图1-13所示,这将大幅提高开发效率。

图1-13 智能提示

第一个TypeScript程序示例到这里就结束了,后面将会详细介绍TypeScript的语法和特性。

读者服务:

微信扫码关注【异步社区】微信公众号,回复“e60557”获取本书配套资源以及异步社区15天VIP会员卡,近千本电子书免费畅读。