TypeScript--初体验

  没想到第一次写博客,竟然写的不是C#,而是TypeScript,不过共同点就是--同一个爸爸,Anders Hejlsberg(安德斯·海尔斯伯格,不标上中文都不知道怎么念有木有)。

首先介绍一下TypeScript(下面就简称ts),直接从官网上摘得:

TypeScript is a typed superset of JavaScript that compiles to plain JavaScript.

Any browser. Any host. Any OS. Open source.

  简单来说,ts就是Javascript的一个语法糖。添加了静态类型检查和面向对象的一些特性。语法上接近C#,但是也有些ActionScript的影子(毕竟都是ECMAScript标准的实现)。ts的编译器叫tsc,他本身也是用js写的。最后编译得到的就是原生的js脚本。ts的定位应该就是让人们使用更加严格的js,这点从ts严格遵循es的标准也可以看出来。

  对于很多人来说,生态也是一个主要关注的问题。从ts的发展上来看,微软并不打算自己打造ts生态,而是通过和其他一些大厂合作,比如google,facebook等,所以angular和react现在都已经支持ts了。这样大家分工也比较明确。

  还有一个比较关注的问题,应该就是第三方js库的支持了。如果想让第三方使用ts重写类库,这显然代价太大了,而且人家也未必愿意,毕竟ts刚出来。所以这点ts在设计的时候也已经考虑到了。通过一个声明文件(*.d.ts),把原先js库中的api暴露出来,就能直接调用原来的js类库。

  ts具体的语法细节,可以参考官网的文档,已经很详细了。https://www.tslang.cn/

  下面我们就来实践一下。

  首先是搭建环境,ts需要依赖nodejs,所以我们先下载nodejs并安装。

  其次是下载ts的编译器。目前最新版的是2.2.2。这里需要注意一下,就是windows下的编译器tsc.exe,在vs2015之前,最高只支持到ts 1.8.5,官方也明确说了2.0开始不再支持vs2015之前的版本。vs2015可以通过vs插件来下载tsc,并且支持最新的2.2.2,但是vs2017中,tsc不再作为一个独立的vs插件了,貌似和vs2017已经绑定更新了,目前vs2017最新的版本只到2.1.5。所以直接在windows下编译typescript是比较蛋疼的。

  但是ts是跨平台的,所以我推荐使用linux下的tsc编译器(更新及时),他是作为一个npm包来安装的,管理起来十分方便。并且在vscode的控制台下,可以直接使用linux下的tsc可执行文件。(当然你也可以通过cygwin来编译typescript,这里就不细说了)。

  通过npm直接将typescript安装到全局目录下。

  

  下面我们就拿typescript来练练手。

  我们先创建一个Person类型的抽象基类:

  

  

  Gender类型是我们定义的一个枚举:

  

 

  然后我们再定义个打招呼的接口:

  

  

  下面 我们来实现一个女朋友的类((●ˇ∀ˇ●))来实现这个抽象类和接口:

由于是女朋友,所以性别当然默认是女的啦。

  

 

 

  然后就是激动人心的创建女朋友环节了,让我们来实例化一个女朋友:

  

  

  最后就是编译了,。由于我是用vscode写的,所以要运行还得配置一下launch.json。

  最后运行结果:

  

 

   由于是第一次写博客,思路和语言组织都很粗糙,望见谅。接下来我会继续写ts相关的文章,希望和大家一起学习!

posted @ 2017-04-23 20:27  joe06102  阅读(2940)  评论(2编辑  收藏  举报