没想到第一次写博客,居然写的不是C#,而是TypeScript,不过共同点就是--同一个爸爸,Anders Hejlsberg(安德斯·海尔斯伯格,不标上中文都不知道怎么念有木有)。node
首先介绍一下TypeScript(下面就简称ts),直接从官网上摘得:react
TypeScript is a typed superset of JavaScript that compiles to plain JavaScript.linux
Any browser. Any host. Any OS. Open source.typescript
简单来讲,ts就是Javascript的一个语法糖。添加了静态类型检查和面向对象的一些特性。语法上接近C#,可是也有些ActionScript的影子(毕竟都是ECMAScript标准的实现)。ts的编译器叫tsc,他自己也是用js写的。最后编译获得的就是原生的js脚本。ts的定位应该就是让人们使用更加严格的js,这点从ts严格遵循es的标准也能够看出来。npm
对于不少人来讲,生态也是一个主要关注的问题。从ts的发展上来看,微软并不打算本身打造ts生态,而是经过和其余一些大厂合做,好比google,facebook等,因此angular和react如今都已经支持ts了。这样你们分工也比较明确。json
还有一个比较关注的问题,应该就是第三方js库的支持了。若是想让第三方使用ts重写类库,这显然代价太大了,并且人家也未必愿意,毕竟ts刚出来。因此这点ts在设计的时候也已经考虑到了。经过一个声明文件(*.d.ts),把原先js库中的api暴露出来,就能直接调用原来的js类库。windows
ts具体的语法细节,能够参考官网的文档,已经很详细了。https://www.tslang.cn/。api
下面咱们就来实践一下。学习
首先是搭建环境,ts须要依赖nodejs,因此咱们先下载nodejs并安装。google
其次是下载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相关的文章,但愿和你们一块儿学习!