关于JavaScript是好事还是坏事尚无定论,因此在本文中,我们将探讨JavaScript的优缺点。
标题问题的简短答案是“否”。
长的答案更加复杂,首先是 “ 种类 ……” 开发人员可以使用多种JavaScript替代方法,但是(目前)必须在部署它们之前将它们转换为JavaScript。
人们喜欢讨厌JavaScript
如果我们考虑到这种编程语言的一些明显缺点(包括IEEE 754 Double Precision),这是不足为奇的,事实是,许多功能和属性往往在浏览器之间执行的方式不同,攻击性强,并且存在问题的全局变量(例如一些)。
但是,杭州网站建设派迪科技最近一项针对98,000名开发人员的调查显示,JavaScript实际上是第二最受欢迎的编程语言,其中49%的人对此表示赞成。
从我的角度来看,对于允许自动完成,滚动和下拉菜单效果,对页面上的不同元素进行动画处理以及播放音频和视频以及其他许多可带来丰富客户体验的出色功能的编程语言,您有什么好不喜欢的?
此外,我们正在谈论一种与许多其他语言兼容的常绿语言,这种多功能性非常重要。
JavaScript的好处
当涉及到JavaScript时,确实有很多值得爱的地方,因此有一些原因使其成为最流行和广泛使用的编程语言之一:
- 当涉及到前端开发和客户端接口时,它是唯一的实际选择,因为它允许程序员创建各种交互式元素和动态网页。
- JavaScript很简单,语法简单,并使用单线程事件循环模型,从而消除了很多编程复杂性。
- 它是面向原型的;
- 随着Node.js的引入,JavaScript解锁了仅保留给Java,Python或Ruby等服务器端语言使用的后端编程选项。
JavaScript的缺点
这就是一些开发人员希望尽可能避免使用JavaScript的原因:
- 它的类型很弱,这使得代码相对模糊。
- 由于用户可以看到代码,因此JavaScript可能被用于恶意目的并危及客户端的安全性。
- 发布代码之前,必须在不同的浏览器上对其进行测试,因为它不会在每种浏览器上以相同的方式执行;
- 缺少调试使开发人员很难发现问题。
JavaScript的可行替代品
可以公平地说,就可以绕开整个JS框架而言,没有JavaScript的真正替代品。
所有这些替代方案实际上都是变通办法,仅允许您在编写代码时避免使用JavaScript,但事实是,为典型用户计算机编写的代码需要在其上运行。这些替代方法使用将另一种语言转换为JavaScript的过程。
这里有5个值得注意的替代方案,它们显着改善了JavaScript。
1.飞镖
Dart是Google旨在替代JavaScript的面向对象的类C语言。Dart是静态类型的,这意味着它消除了JS代码中一些最常见的错误源。它支持类型推断,这是一大优势。
仍然,此JS替代方案最有益的功能之一在于,它使您不仅可以进行客户端开发,还可以创建独立的应用程序。使用Google的UI工具包,可以构建本机Web,桌面和移动应用程序。但是,由于Dart是程序员的新手,而且在市场上并不常用,因此Dart提供的在线资源有限,这意味着一旦遇到问题,您将无法轻松找到解决方案。
2. TYPESCRIPT
TypeScript由Microsoft开发,实际上更像是JavaScript的超集,这意味着它基本上增加了新方法,改进了现有JS功能并使之现代化,并消除了某些限制,最重要的是添加了可选的静态类型。换句话说,用TypeScript编写的应用程序被编译为JS后,几乎可以在任何浏览器中查看。
例如,Angular.js完全用TypeScript构建。
该JS替代方案的另一个优点是它与Node.js兼容。
但是,社区较小,并且使用TypeScript进行编码需要更多时间。
3.咖啡因
Kaffeine实际上是JavaScript语法的一组扩展,旨在使某些任务更加容易。例如,由于它支持异步操作,因此可以帮助前端开发人员使用JavaScript的回调函数。
使用Kaffeine,调试过程变得更加简单,并且除了使开发人员容易进行之外,此JS扩展还对最终用户有利,因为浏览器不会冻结,这意味着用户体验很流畅。
再次,更小的社区和资源的缺乏使这种编程语言有点晦涩。
4.榆木
Elm是一种静态类型的函数式语言,与Haskell相比,其与C的相似性更高,但是与前者不同, Elm不会使开发人员为它的复杂性而费心。
它与JavaScript的不同之处主要在于它不是通用语言,而是一种可提供高级前端Web应用程序开发体验的解决方案。
在Elm中进行编码时,开发人员会在错误发生时立即得到通知,以便他们可以及时进行修复,从而避免了在以后的开发阶段中出现大量错误。该程序使用的口号是“实践中没有运行时例外”,这基本上意味着,如果用Elm编写的应用程序完全开始运行,则不会崩溃。
它的一些缺点包括缺乏服务器端,较陡的学习曲线以及缺少某些高级功能的事实。
5. COFFEESCRIPT
据说 CoffeeScript可提高原始语言的可读性,并简化代码并使其更短。它与Node.js的兼容性是另一个优势。
但是,重要的是要提及,想要使用CoffeeScript的开发人员仍然需要JavaScript多产。它的主要缺点之一是功能集有限,以及JavaScript发布了ES6版本升级的事实,该升级实际上使CoffeeScript变得多余(此升级加快了JavaScript的速度,使其几乎与CoffeeScript一样快)。
底线
简而言之,JavaScript是目前的一种客户端编程语言,并且将一直存在。
这些替代方案可以增强它的功能,并解决它的一些缺点,但是如果没有JavaScript框架就无法真正运行,因此可以肯定地说,我们仍然必须等待JavaScript的真正后继者能够独立工作。