本篇文章旨在介绍下TypeScript这门新兴的程序设计语言,不需要你有多么强的专业知识,只需要你有半支烟的功夫。

好了,废话不多说,赶紧进入正题。为什么你需要拥抱TypeScript?那么你首先需要了解下TypeScript是个什么东东,不然我也只能劝您一句:“路边的野花你不要采”。

TypeScript is a superset of JavaScript.

  上面这一句就是官方给他的定义,翻译过来就是“TypeScript是JavaScript的超集”。呵呵,官方的说法依旧还是那么官方哈,其实他的潜台词就是说:“你JavaScript管得了的我要管,你JavaScript管不了的我更要管,这就是我TypeScript”。

  听完他霸气的宣言,是不是觉得有种西厂厂公雨化田的风范。当然,如果你还要问我JavaScript是个啥?那我只好向您挥挥衣袖,请您移步询问度娘吧。

知道了TypeScript为何物之后,接下来咱就好好说说为什么我们需要拥抱她?(更多精彩内容请关注微信公众号:it-talk)

TypeScript有个牛X的“爹”

  在这个“拼爹”的时代,有个牛X的爹你完全可以少奋斗50年,那么TypeScript的“爹”到底是谁呢?如果我告诉你你天天使用的Windows操作系统和Office办公软件是她的大哥大姐,那你能猜到她的“爹”是谁吗?没错,他就是大名鼎鼎的微软。

  而且更“可怕”的是:由于谷歌公司的AngularJS也采用了TypeScript进行开发,谷歌与微软也达成了合作,这就相当于谷歌认了TypeScript为“干女儿”。对于谷歌大家应该非常熟悉,我们使用的安卓手机的系统就是谷歌开发的。

  有了微软和谷歌这两个牛X的“爹”为她“铺路”,TypeScript的前途也将是前程似锦、一片光明。

TypeScript是开源的

  开源,即开放源代码,就是指微软将其实现的源码公开了。什么意思呢?就好比我们小时候做练习册,不会写的时候翻看答案,有的答案十分详细,你能看到解题的每一个步骤,这就是开源了。

  开源的另一层含义就是说你可以免费使用,甚至商用。自古以来,中国人讲究的是“滴水之恩,涌泉相报”,但由于微软采用的Apache License 2.0开源协议,该协议并不需要你涌泉相报,因为他知道你没钱;也不需要你感念于心,因为他知道你心里只有你的对象(没有对象的赶紧new一个)。该协议只需要你在项目中加上一个版权许可的声明,就能完全免费地使用TypeScript了。

  说到开源,就不得不提版权的问题,一般而言,你使用别人的东西都会涉及到版权。最近很热门的一个话题就是关于视觉中国对图片于版权的一个不太好的吃相,虽说他也受到了“从重”处罚,但确实也给我们的版权意识敲了一个警钟——不是什么东西你都能随随便便拿过来使用的,搞不好会让你倾家荡产。

TypeScript是易学习的

  请注意,这里是说TypeScript是很好上手、很好学习的,并不是说她属于《人民的名义》中那个易学习的哦。呵呵,好吧,有点冷!

  言归正传,为什么说TypeScript易学习呢?首先,她是基于JavaScript并添加了一些面向对象的特性,所以如果你有JavaScript和其他面向对象语言(如C#、Java)的基础,那么你看到TypeScript代码会有一种熟悉感。当然你要说你实在学不会,那你直接在TypeScript文件中书写JavaScript代码也是可以的,不过这就有点多此一举了哈。

  此外,TypeScript还在JavaScript的基础上加上了静态检查,这就使得程序更加的稳定。什么意思呢? 相信大家都经历过大大小小的考试,当我们写完试卷之后交给老师批改,是对是错要等老师批改之后才能知道,但是现在我们有了静态检查,就相当于你写完试卷了后有个很厉害的角色帮你检查试卷,如果有错误的地方,他能马上给你指出来,这样的话,你是不是每次就能考更高的分甚至是满分了呢?

总结

  本文讲述了需要拥抱TypeScript的几点原因,但这并不足以说完TypeScript的优点,也不能说明TypeScript就是万能的,我们需要根据实际的项目按需选择,毕竟只有合适的才是最好的。

  下面就以一段TypeScript代码结束本文,你能看出这段代码最后输出的结果是什么吗?欢迎在评论中写出你的答案。

(更多精彩内容请关注微信公众号:it-talk)

前端技术大行其道,再不拥抱TypeScript你就老了!的更多相关文章

  1. 2019年一半已过,这些大前端技术你都GET了吗?- 上篇

    一晃眼2019年已过大半,年初信誓旦旦要学习新技能的小伙伴们立的flag都完成的怎样了?2019年对于大前端技术领域而言变化不算太大,目前三大技术框架日趋成熟,短期内不大可能出现颠覆性的前端框架(内心 ...

  2. 解密国内BAT等大厂前端技术体系-腾讯篇(长文建议收藏)

    1 引言 为了了解当前前端的发展趋势,让我们从国内各大互联网大厂开始,了解他们的最新动态和未来规划.这是解密大厂前端技术体系的第三篇,前两篇已经讲述了阿里和百度在前端技术这几年的技术发展.这一篇从腾讯 ...

  3. 一文读懂前端技术演进:盘点Web前端20年的技术变迁史

    本文原文由作者“司徒正美”发布于公众号“前端你别闹”,即时通讯网收录时有改动,感谢原作者的分享. 1.引言 1990 年,第一个Web浏览器的诞生:1991 年,WWW诞生,这标志着前端技术的开始. ...

  4. [转] React风格的企业前端技术

    亲爱的各位朋友们,大家下午好! 首先祝大家国庆节快乐! 很高兴可以在国庆前夕,可以为大家分享一下React风格的企业前端技术. 谈到前端,可能以前大家的第一感觉就是,前端嘛,无非就是做做页面切图,顶多 ...

  5. 当下较热web前端技术汇总

    Web前段技术发展很快,主流技术日新月异,想想自己刚毕业那会用的asp技术,现在已经很少有主流网站在使用了.再到后来的J2EE框架,然后SpringMVC大行其道,但是最近各种js框架被广为传播,Ht ...

  6. 2019年一半已过,这些大前端技术你都GET了吗?- 下篇

    在上一篇文章中已经介绍了大前端关于状态管理.UI组件.小程序.跨平台和框架层的内容.在本文中,我会继续介绍编程语言.工程化.监控.测试和服务端,同时也会对下半年大前端可以关注的部分进行展望. 结合个人 ...

  7. 解密国内BAT等大厂前端技术体系-携程篇(长文建议收藏)

    1 引言 为了了解当前前端的发展趋势,让我们从国内各大互联网大厂开始,了解他们的最新动态和未来规划.这是解密大厂前端技术体系的第四篇,前三篇已经讲述了阿里.腾讯.百度在前端技术这几年的技术发展. 这一 ...

  8. 解密国内BAT等大厂前端技术体系-美团点评之下篇(长文建议收藏)

    引言 在上篇中,我已经介绍了美团点评的业务情况.大前端的技术体系,其中大前端的技术全景图如下: 上篇重点介绍了工程化和代码质量的部分,工程化涵盖了客户端持续集成平台-MCI.全端监控平台-CAT.移动 ...

  9. 8分钟为你详解React、Angular、Vue三大前端技术

    [引言] 当前世界中,技术发展非常迅速并且变化迅速,开发者需要更多的开发工具来解决不同的问题.本文就对于当下主流的前端开发技术React.Vue.Angular这三个框架做个相对详尽的探究,目的是为了 ...

随机推荐

  1. SQL Server 2000安装教程图解

    SQL Server 2000安装教程图解... ============= 下面网盘链接中的SQL2000数据库在Win7和Win10系统上安装都是可以正常使用的,只不过是Win10上安装的话,需要 ...

  2. linux下安装python3.6.4

    想在阿里云端装一个 python36,因为自带的python2有点老 ,(centos系统) 当然你如果选择的乌班图系统的话就自带了python3,就不用看了 于是查找资料,但是一步一步的来总是不行, ...

  3. Python跨目录调程序

    #!/usr/bin/python # -*- coding: utf-8 -*- # 导入其它目录下的文件, 需要去帮获取当前程序的绝对路径并加入到环境变量的相对路径中 import os impo ...

  4. 在C++中怎么判断一个double型数据的小数点部分是否为零

    例:double sf = 123.123: 这里我们怎么判断sf小数点部分是否为零,可以直接用原数减去将sf强制转换后的整数是否为零来判断. if((sf - (int)sf) == 0),则说明s ...

  5. bzoj5250 [2018多省省队联测]秘密袭击

    博主蒟蒻,目前还不会动态dp,所以下面说的是一个并不优秀的暴力,我会补的! 我们考虑按权值从大到小依次点亮每个点,相同权值可以同时点亮,每次点亮后,我们进行一次树形背包. 处理出$f[i][j]$表示 ...

  6. codeforces 671D

    首先O(n2)dp很好想 f[i][j]表示i子树内的所有边都被覆盖且i~j的路径也都被覆盖的最小花费. 考虑去掉无用的状态,其实真正用到的就是每一条链. 去掉第二维,f[i]表示i子树内的边都被覆盖 ...

  7. BZOJ_1877_[SDOI2009]晨跑_费用流

    BZOJ_1877_[SDOI2009]晨跑_费用流 题意: Elaxia最近迷恋上了空手道,他为自己设定了一套健身计划,比如俯卧撑.仰卧起坐等 等,不过到目前为止,他 坚持下来的只有晨跑. 现在给出 ...

  8. BZOJ_1334_[Baltic2008]Elect_DP+语文题

    BZOJ_1334_[Baltic2008]Elect_DP Description N个政党要组成一个联合内阁,每个党都有自己的席位数. 现在希望你找出一种方案,你选中的党的席位数要大于 总数的一半 ...

  9. 自定义的Config节点及使用

    示例   下面的代码示例演示如何在创建自定义节时使用 ConfigurationProperty. C# VB   using System; using System.Configuration; ...

  10. Java线程同步锁

    把synchronized当作函数修饰符时,示例代码如下: Public synchronized void method(){ //-. } 这也就是同步方法,那这时synchronized锁定的是 ...