TypeScript和JavaScript哪种语言更先进
来源:互联网 发布:js过滤微信表情符号 编辑:程序博客网 时间:2024/06/05 03:00
近两年来最火爆的技术栈毫无争议的是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.
- TypeScript和JavaScript哪种语言更先进
- TypeScript和JavaScript哪种语言更先进
- TypeScript和JavaScript哪种语言更先进
- TypeScript和JavaScript哪种语言更先进
- TypeScript和JavaScript哪种语言更先进
- TypeScript和JavaScript哪种语言更先进
- TypeScript让.Net开发人员更适应JavaScript
- TypeScript 和 JavaScript 的区别?
- JavaScript和TypeScript下的this关键字
- 在Android中加入和使用Realm(速度更快,更先进加密性更好)
- JavaScript和TypeScript的单例写法(面向对象)
- TypeScript和es5的JavaScript的语法比较
- 找寻比QQ和新浪UC更先进的视频聊天软件
- CoffeeScript、TypeScript 、 JavaScript 之间
- TypeScript:更好的JavaScript
- 从 JavaScript 到 TypeScript
- 从 JavaScript 到 TypeScript
- 从 JavaScript 到 TypeScript
- 走迷宫
- 网络编程4之UDP协议
- strstr函数
- Xcode8、iOS 10 的NSlog 输出问题(“__nwlog_err_simulate_crash simulate crash already simulate")
- Java 性能调优需要格外注意的细节
- TypeScript和JavaScript哪种语言更先进
- Android System Property
- 自定义toast
- LayerMask,Camera.cullingMask
- Spark Shuffle之Hash Shuffle
- 为什么tty0 没有输出?
- gccxml
- Class.forName与ClassLoader(转)
- 反记账对BSEG和FAGLFLEXA的影响