关于JavaScript的最大误解是什么?

关于JavaScript的最大误解是什么?

他最大的神话是,JavaScript是特殊还是在灵活性,表现力方面独一无二的,因为功能:

  • 动态打字
  • Lambdas
  • 对象原型
  • 异步编程

但猜猜怎么了? 这根本不是唯一的!

Python,Ruby,Perl,PHP,Clojure和Smalltalk都是动态类型的。

Java,Python,C ++,C#,Ruby,Perl,PHP,Scala,Clojure和Smalltalk均支持lambda。

Maple,Self,Lua,REBOL和Io都有对象原型。 有趣的是,除了JavaScript之外,没有其他人对原型感到讨厌。 基于类的OOP一直是对象空间中最流行,使用最广泛的技术。

从最早的计算时代开始,异步编程就已经存在。 它几乎可以用任何语言完成,包括Java,Python,C#和Smalltalk。 有什么大不了的???

例如,您可以使用JavaScript进行的任何操作,例如我可以在Smalltalk中进行的操作。 如果灵活性和表现力是使用JavaScript的主要原因,那么您为此付出了高昂的代价,因为JavaScript也是一种可执行语言

他第二大神话是,你必须使用JavaScript编写的网页浏览器应用程序,因为JavaScript是唯一的语言,原产于网络浏览器。 尽管从技术上讲这是正确的,但如果您愿意接受转译的语言,则可以选择其他方法。 这意味着将JavaScript视为网络的一种“汇编语言”。

这与使用C或Go之类的语言编译成x86汇编语言没有什么不同。

这是转译的替代品的简短列表:

  • Bridge.NET(C#)
  • Cheerp(C ++)
  • ClojureScript(Clojure)
  • 榆树
  • GopherJS(开始)
  • 哈克斯
  • JSweet(Java)
  • 科特林
  • 蛋白石(红宝石)
  • PharoJS(Pharo)
  • Scala.js(Scala)
  • 转加密(Python)

您有选择的聚宝盆,很尴尬的财富。

他第三大误区是认为JavaScript是简单易学。 当然,如果将自己限制为一小部分语言,那么任何编程语言都易于学习。 这也适用于C ++,C#,Scala和Swift。

但是,JavaScript是一种巨大的语言,具有许多黑角和怪异的边缘情况。 不相信我吗? 看看ECMAScript2017。其语言规范超过885页! 这正在进入托尔斯泰的战争与和平领域。

期望将来的ECMAScript版本会更大。

如果您认为JavaScript易于学习,那么您将感到惊讶。

他第四大神话是,JavaScript是你可以使用两个前端和后端的唯一语言。 如果您愿意接受转译的语言,则不会。

在上面的列表中,唯一不能用于前端和后端的语言是CoffeeScript和Elm。

他第五大神话是,JavaScript是到处被使用。 但是,JavaScript 主要用于前端Web开发。 它在Node的牵引服务器端,Electron的台式机端,React Native(以及Cordova / PhoneGap)的移动端。 但是在其他任何地方,JavaScript几乎都无法使用。

对于像Python和Ruby这样的语言,实际上也是如此。 两者都很通用,但是它们分别以数据科学/机器学习和Rails最为人所知。 Python在网络领域也表现出色。 但是Python几乎不用于台式机和移动设备。

前端,Node,Electron和React Native是否无处不在 谈论妄想!

From: https://hackernoon.com/what-are-the-biggest-myths-about-javascript-49a0660cd6ec