TypeScript和JavaScript哪种语言更先进
TypeScript和JavaScript哪种语言更先进
近两年来最火爆的技术栈毫无争议的是JavaScript,随着ES6的普及,不管是从前端的浏览器来看,还是后端的NodeJS场景,JavaScript技术栈不断的向世界证明自己的价值。JavaScript代码越写越大,众所周知,JavaScript是一门动态语言,缺少静态类型检查,这样就很难在编译阶段排除更多的问题,当然,这就是动态语言的魅力所在,运行时动态处理类型,在我们写代码的时候就可以很更灵活。为了给JavaScript增加类型检查以及一些其他能力TypeScript应运而生,不能说TypeScript有多牛,只能说TypeScript顺应了时代需要。那么说了半天TypeScript和JavaScript哪种语言更先进呢?
让我们从以下方面来谈谈,
1.从历史包袱角度说JavaScript的包袱是前向兼容,即使老版本的ES中有落后的方面,为了兼容,也要支持,而TypeScript宣称完全兼容JavaScript,这导致了TypeScript继承了JavaScript一切的缺点,所以从这点上看可以说是不相伯仲。
2.TypeScript的作者也是C#的作者,这导致了TypeScript从C#继承了很多优雅的设计比如枚举,泛型等语言特性,这让TypeScript增色不少。
3.TypeScript带有编译期类型检查,在写大程序的时候有优势,更容易重构和让别人理解代码的意图,但是这带来了一个问题就是语法上的拖沓冗长,不够漂亮。
4.知道Groovy和Java的朋友和容易看出来,TypeScript和JavaScript的关系实际上就是Groovy和Java的关系,一个动态,一个静态,一个灵活,一个稳健,哪个更先进,要看你从哪个方面来说了。
5. 下面是完成同样功能的两段简单代码,大家可以简单比较一下,看看自己喜欢那种品位。
TypeScript Code:class Greeter {greeting: string;constructor (message: string) {this.greeting = message;}greet() {return "Hello, " + this.greeting;} }
JavaScript Code:var Greeter = (function () {function Greeter(message) {this.greeting = message;}Greeter.prototype.greet = function () {return "Hello, " + this.greeting;};return Greeter; })();
总结
TypeScript is c# version JavaScript, JavaScript is groovy version Java of Typescript which one is better depends on what you are going to do.
转载于:https://www.cnblogs.com/pugang/p/6399292.html
TypeScript和JavaScript哪种语言更先进相关推荐
- GIS教程之哪种语言更适合地理可视化:R 还是 Python?
在这篇博文中,我构建了两个交互式地图,一个使用 Python,另一个使用 R 来决定哪种语言更适合这项工作. 使用 R 和传单构建交互式地图 第 1 步:导入地理数据 data <- read. ...
- 哪种语言更适合做自动化测试?
经常有测试新手问我:Python和Java语言,哪个更适合做自动化测试?本来想简单的回答一下的,但又觉得对不起大家对小编的信任.因此,小编今天专门写了一篇文章来回答这个问题.欢迎各位大佬补充~ 1.什 ...
- ABAP, Java和JavaScript三种语言的比较
写这个系列的初衷是SAP Chengdu office有越来越多的应届毕业生加入,这些新同事通过在大学的专业学习,具备了Java和JavaScript背景,但是进入SAP之后大家觉得ABAP没有Jav ...
- 编程入门python java和c语言_学习编程适不适合从Python入门?哪种语言更适合入门?...
本文对比了C语言和Python语言,分析它们作为编程入门语言各自的利弊,并给出了我推荐的编程学习道路. 我本身已经入门了Python脚本语言,在进阶C语言和JAVA语言后,Python重学就轻松很多, ...
- aes加密算法python语言实现_C#, Java, PHP, Python和Javascript几种语言的AES加密解密实现[转载]...
原文:http://outofmemory.cn/code-snippet/35524/AES-with-javascript-java-csharp-python-or-php c#里面的AES加密 ...
- java和c语言的区别_C语言为何不会过时?你需要掌握多少种语言?
关注.星标公众号,不错过精彩内容 整理/排版:付斌 转自:嵌入式ARM 01 为什么C语言不会过时 评价任何一门编程语言,都是招人骂的.永远是这样.就像是春寒料峭的季节, 街上穿棉袄和穿单衣的擦肩而过 ...
- window直接运行不需要环境的软件是什么语言开发的_C语言为何不会过时?你需要掌握多少种语言?_C 语言...
01为什么C语言不会过时 评价任何一门编程语言,都是招人骂的.永远是这样.就像是春寒料峭的季节, 街上穿棉袄和穿单衣的擦肩而过,双方一定是同时在心里出现了两个字:"s b!"这个在 ...
- C语言为何不会过时?你需要掌握多少种语言?
01为什么C语言不会过时 评价任何一门编程语言,都是招人骂的.永远是这样.就像是春寒料峭的季节, 街上穿棉袄和穿单衣的擦肩而过,双方一定是同时在心里出现了两个字:"傻逼!"这个在心 ...
- 程序员入门c语言还是java,先学java还是c语言?入门学哪种语言?
很多刚接触编程语言的小伙伴都会有一个疑问先学 Java 还是 C 语言?今天 W3Cschool 小编就来和大家简单介绍一些,做个对比相信小伙伴们能够自行作出适合自己的判断. 在探讨先学 Java 还 ...
最新文章
- 事件绑定在IE下this是window的问题
- 《评人工智能如何走向新阶段》后记(再续21)
- 阿里程序员35岁P7!4年了晋升无望!明年股票拿完,年包腰斩!世界那么大,要不要去看看?...
- 【转】 ASP.NET 3.5中使用新的ListView控件
- ARM的嵌入式Linux移植体验之操作系统
- 可变和不可变的数据类型
- sourcetree打开快捷_Sourcetree使用:拉取打开项目的步骤
- left join on and 与 left join on where的区别
- [css] 用css画一个太阳
- network怎么断点调试_Windows 网络编程:调试 API
- 【历史回顾】Linux发展一览
- SQLServer2008将表数据导出的方法
- VC6中编译器/zm问题
- C++中的setw()函数
- 有关一级域名二级域名三级域名
- 共模电感适用的频率_共模电感的原理以及使用情况
- Cesium中的儒略日JulianDate
- 中国十大域名注册虚拟主机提供商排行榜
- AI对于人类来说到底是福还是祸?
- springboot远程心电诊断系统毕业设计源码091759
热门文章
- 2013 ACM/ICPC 长沙网络赛J题
- C++中图像处理的类之二 CImg
- 创新工场CE0李开复:互联网创业黄金时代来临
- unused import statement
- jinja2语法中{%raw%}和{{}}的等效替换
- CentOS下面ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)
- None用法+连接字符串优先使用join +用format而不是%+区别可变对象和不可变对象(list的深拷贝和浅拷贝)
- 入行以来涉及的技术简史
- SecureCRT中的实用配置
- go语言int类型转化成string类型的方式