Dart语言比JavaScript(Node.js)有什么好处?

对于他们要解决的问题,我看不到Dart的意思。

我读到它是由于JavaScript的不足而创建的,但是没有给出这些不足。

有人可以说明学习Dart的好处,而不是我学习Node.js的好处吗?

Phil Hannent asked 2020-02-11T01:11:05Z
2个解决方案
64 votes

我认为它的主要问题是解决创建大型,多开发人员应用程序的问题。

在Javascript中,我可以编写完全有效的代码:

function x(y) {
 return y*y;      
}

document.write(x(3,4,5));

这样可以很好地执行,但这显然是一个错误。

现在,在几千行代码的代码库中,由几个开发人员和几个月的时间来分开函数定义和函数调用。

原始函数x(y)最初可能是函数x(y,z,a),但此后随时间进行了重构。 这就是javascript对我来说失败的地方,而这正是dart可以帮助解决的地方。

编辑(2013年5月)除了我认为仍然正确的上述答案外,我认为效果故事也越来越引人注目。 Google I / O的Lars Bak和Kasper Lund的演讲提供了一些证据。

Chris Buckett answered 2020-02-11T01:12:21Z
41 votes

技术概述似乎很好地总结了差异:

  • 类:虽然JavaScript是面向对象的,并且不提供类(至少在其最新版本中),但它实际上是基于原型的语言,而不是基于类的语言。 尽管这并没有本质上恶化,但它与大多数主要的面向对象语言不同,这使得大多数人都难以学习。

  • (可选)静态类型:纯JavaScript无法进行静态类型(例如:“由编译器检查”)。 优点(和缺点)是众所周知的,并已得到广泛讨论。

  • 对库的语言支持:“在此之前加载文件”是实现库的一种非常原始的方式,大多数现代语言都以某种方式对库提供了明确的支持。

该页面还提到了工具,但这并不是语言之间的固有差异。 当然,使用静态编译和类型化的语言更容易编写好的工具,但这并不是编程无法解决的根本差异。

Joachim Sauer answered 2020-02-11T01:11:38Z
translate from https://stackoverflow.com:/questions/7712107/what-is-the-benefit-of-the-dart-language-over-javascript-node-js