上一节,我简单介绍了Typescript,并将Typescript和JavaScript进行了对比,有些网友提出了一些疑问,可能有些网友对于这个Typescript还不是特别的熟悉,这节,我做一些演示。

1.安装Typescript

Google Search Typescript,找到Typescript的下载安装包,我这次下载的0.9.0.1版本,安装图片:

安装过程非常迅速,一分钟搞定。

2.测试看是否安装成功,打开命令窗口(win+R),输入cmd ,命令窗口打开,输入tsc,你会看到相关的Typescript命令行,表明已经安装成功了。有些命令还是挺有用的

tsc -v 查看版本号

tsc C:\aa.ts D:\bb.js 将C盘下的aa.ts 编译并生成JavaScript file输出到D盘,名字为bb.js

tsc C:\typescripts\*.ts D:\all.js 这个就更有用了对不对?对Typescript合并输出一个js file

...

有些大家自己试试就知道了。。

3.用visual studio 演示下Typescript

新建一个工程

可以看到系统默认提供了相应的文件,将app.ts 里面内容全部删除掉,我们自己写一个

上图我简单介绍下几个关键字:

module:类似Java package 或者C# namespace的概念,一个module里面的任何变量的声明不会对另外一个module产生影响,那么尤其在做大型web项目,这个实在是太重要了。

export:类似任何面向对象语言里面的public,表明这个是个共有方法。

上图中,更有意思的是,我声明了两个private变量,智能提示对于我们的书写,提高了效率。我们继续

我们看到这个图片中,有红色的波浪线,而且有错误提示说,不能把string赋值给数值类型,这就是所谓的编译器,可以把我们的一大部分错误给屏蔽掉,提升我们的代码质量和效率,试想在弱类型的JavaScript中,var a=0 和var a=“0”,谁能告诉我哪个对哪个错误??在这样的代码存在很久之后,又有谁能告诉我,a到底是返回数值,还是返回字符串。

我们在写JavaScript的时候,还经常会遇到该变量名字或者方法名字的时候,在Visual studio中,可以简单做到这一步(上图演示),我觉得其他的IDE也应该支持这个,毕竟Typescript是开源的。但是这个我并没有测试,sorry。

下面我在对比下,ts 和js file的代码量,大家都懂得,无论是代码的层次结构,还是代码量上面,谁有更明显的优势呢?

我就把这个demo做完吧。其实我就是结单写了个计数器,下面是html启动页面的代码:

大家看到了么?这里面没有包含任何Typescript的文件,Typescript在整个application中,充当的是语法糖的角色,其实就是一名很靠得住的翻译。

启动,点击button按钮,计数器不断累加,程序非常简单,勿喷,但是这些足以说明Typescript的强大之处,谢谢微软。

上次我的博文,有些人问我,凭什么我说它是Teamwork的利器?

我们的计算机语言,由以前的面向过程的语言,慢慢的演变现在非常流行的OOP,基本上可以说,现在的主流语言都已经支持面向对象(Java,C++,C#等等),JavaScript是一门挺古老的语言,但是到现在也是盛行不衰,尤其现在Html5的流行,但是它本身有致命的弱点,就是弱类型,而且它没有package,class,interface,extends,generics等概念,导致它实现不了面向对象那些优势,但是Typescript的出现,终于把这些问题解决了,Typescript把面向对象的种种概念统统都支持了,对于尤其喜欢面向对象语言编程的大牛们,Typescript是个非常不错的选择。

之所以叫Teamwork,说明每个人对这个Team都有贡献,当然也有影响,代码质量的提高,除了自己的code经验,另外更重要的的一点就是工具,有些繁琐难做,而且容易导致错误的功能,为什么不选择交给机器呢?如果我们的code coverage100%,UnitTest 100% pass,那么我的质量得有多高啊?首现前提,自己的代码要让机器认识,是不是?如果code在编译阶段都出不了warning or error,那么你会把 Tester给累死的。这里说多了,我会选择个合适的时间讲下 CI 和 CD。如何提升Team的效率。

Typescript 团队合作的利器

为什么选择Typescript的更多相关文章

  1. Angular为什么选择TypeScript?

    原文地址:https://vsavkin.com/writing-angular-2-in-typescript-1fa77c78d8e8 本文转自:http://www.chinacion.cn/a ...

  2. 使用Visual Studio Code搭建TypeScript开发环境

    使用Visual Studio Code搭建TypeScript开发环境 1.TypeScript是干什么的 ? TypeScript是由微软Anders Hejlsberg(安德斯·海尔斯伯格,也是 ...

  3. Typescript 团队合作的利器

    前言 在介绍Typescript 之前,我需要隆重介绍一个人: 安德斯·海尔斯伯格(Anders Hejlsberg,1960.12~),丹麦人,Turbo Pascal编译器的主要作者,Delphi ...

  4. TypeScript开发环境搭建(Visual studio code)

    使用Visual Studio Code搭建TypeScript开发环境 1.TypeScript是干什么的 ? TypeScript是由微软Anders Hejlsberg(安德斯·海尔斯伯格,也是 ...

  5. 初步学习TypeScript

    使用Visual Studio Code搭建TypeScript开发环境 1.TypeScript是干什么的 ? TypeScript是由微软Anders Hejlsberg(安德斯·海尔斯伯格,也是 ...

  6. Ionic2系列——Ionic 2 Guide 官方文档中文版

    最近一直没更新博客,业余时间都在翻译Ionic2的文档.之前本来是想写一个入门,后来觉得干脆把官方文档翻译一下算了,因为官方文档就是最好的入门教程.后来越翻译越觉得这个事情确实比较费精力,不知道什么时 ...

  7. Ionic 2 Guide

    Ionic 2 Guide 最近一直没更新博客,业余时间都在翻译Ionic2的文档.之前本来是想写一个入门,后来觉得干脆把官方文档翻译一下算了,因为官方文档就是最好的入门教程.后来越翻译越觉得这个事情 ...

  8. 如何在vue中使用ts

    注意:此文并不是把vue改为全部替换为ts,而是可以在原来的项目中植入ts文件,目前只是实践阶段,向ts转化过程中的过渡. ts有什么用? 类型检查.直接编译到原生js.引入新的语法糖 为什么用ts? ...

  9. 智能可视化搭建系统 Atom 服务架构演变

    作者:凹凸曼 - Manjiz Atom 是什么?Atom 是集结业内各色资深电商行业设计师,提供一站式专业智能页面和小程序设计服务的平台.经过 2 年紧凑迭代,项目越来越庞大,需求不断变更优化,内部 ...

随机推荐

  1. magic c c++ unix 注册机 注册码 破解版 下载

    说起来都是伤心的事情前段时间,忙于找工作,面试的公司和入职的公司,想想都觉得很奇葩,其中有一家叫什么湖南普天科技有限公司的,他们是从国防科大接项目做的,那天他们叫我去面试,面试完了,说我们这里有个c+ ...

  2. Candies(差分约束)

    http://poj.org/problem?id=3159 题意: flymouse是幼稚园班上的班长,一天老师给小朋友们买了一堆的糖果,由flymouse来分发,在班上,flymouse和snoo ...

  3. 模糊化GPU滤镜汇总

    GPUImageTiltShiftFilter 这是一个模糊图片上下两层的滤镜效果,可以调节模糊边界,可以调节模糊程度 总共4个参数,具体如下     //模糊度的调节,0为最清晰,后面越来越模糊   ...

  4. Codevs 3304 水果姐逛水果街Ⅰ 线段树

    题目: http://codevs.cn/problem/3304/   时间限制: 2 s   空间限制: 256000 KB   题目等级 : 钻石 Diamond 题解       题目描述 D ...

  5. php 下载

    $file='url.xlsx'; if (file_exists(EA_DIR_DATA . $file)) {            header('Content-Description: Fi ...

  6. MediaInfo源代码分析 3:Open()函数

    我们来看一下MediaInfo中的Open()函数的内部调用过程 首先open函数封装了MediaInfo_Internal类中的open()函数 //打开文件 size_t MediaInfo::O ...

  7. Ural 1519. Formula 1 优美的插头DP

    今天早上学了插头DP的思想和最基础的应用,中午就开始敲了,岐哥说第一次写不要看别人代码,利用自己的理解一点点得写出来,这样才锻炼代码能力!于是下午慢慢地构思轮廓,一点点地敲出主体代码,其实是很磨蹭的, ...

  8. matlab初学者_脚本文件调用函数文件

    问题: matlab里面有两种文件,一种是脚本文件,一种是函数文件,为了模块化程序,我们需要把专门的功能写成一个函数封装到某个函数文件里面. 那么来看如何在脚本文件里调用函数文件中的函数. 注意点: ...

  9. 从客户端(MuliteTextBox2="<a href="http://www....")中检测到有潜在危险的 Request.Form 值

    由于在.net中,Request时出现有HTML或Javascript等字符串时,系统会认为是危险性值.立马报出“从客户端 中检测到有潜在危险的Request.Form值”这样的错.   解决方案一: ...

  10. 索引查找(索引查找、分块查找) C语言实现

    1.基本概念 索引查找又称分级查找. 索引存储的基本思想是:首先把一个集合或线性表(他们对应为主表)按照一定的函数关系或条件划分成若干个逻辑上的子表,为每个子表分别建立一个索引项,由所有 这些索引项构 ...