Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/469.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
类似Scala的JavaScript替代方案_Javascript_Scala - Fatal编程技术网

类似Scala的JavaScript替代方案

类似Scala的JavaScript替代方案,javascript,scala,Javascript,Scala,是否有类似Scala的JavaScript替代方案?我正在寻找以下语言: 嵌入XML 比经典JavaScript更好的标准库 隐式转换 我认为您将获得的最好结果是,它最终编译成JavaScript。另外,浏览器没有任何其他支持DOM的跨浏览器客户端语言。有一个项目“Scala+GWT”,它编译Scala->GWT中间目标。然后GWT可能会将其编译为JavaScript 不是真正符合您的需求,而是回答了您最初的问题“是否有类似Scala的JavaScript替代品?”: 如果您不喜欢Ruby/P

是否有类似Scala的JavaScript替代方案?我正在寻找以下语言:

  • 嵌入XML
  • 比经典JavaScript更好的标准库
  • 隐式转换

我认为您将获得的最好结果是,它最终编译成JavaScript。另外,浏览器没有任何其他支持DOM的跨浏览器客户端语言。

有一个项目“Scala+GWT”,它编译Scala->GWT中间目标。然后GWT可能会将其编译为JavaScript

不是真正符合您的需求,而是回答了您最初的问题“是否有类似Scala的JavaScript替代品?”:

如果您不喜欢Ruby/Python/Coffescript,您也许应该看看谷歌新语言Dart的技术预览:

乍一看,它看起来很像java,但有很多细节,让它感觉像是有伸缩性的。
(但不要错误地把它当作另一种Scala。只有Scala才是Scala!)

还有一种语言。在它的网站上,它说:编写可移植到Java VM、.NET CLR和浏览器中的JavaScript的代码。

Scala.js
可能就是你想要的:

“Scala.js将Scala代码编译为JavaScript,允许您完全用Scala编写Web应用程序!”

地点:


Github:

我猜他的意思是隐式转换,你想在哪里运行代码?浏览器中的浏览器、服务器、桌面、烤面包机。这种语言应该有DOM支持,这意味着在一天结束时,您必须生成。还要注意,用户定义的隐式转换(除非是完全动态的,这会给几乎所有操作都带来显著的开销)需要一个静态类型系统。我希望有一种像Scala这样的静态类型的语言。@Mateusz Javascript是一种动态语言,那么,如果它不可避免地会转换为动态类型,为什么要在中间阶段强制使用静态类型呢?在这种情况下,您不可能从静态类型中获得任何性能优势。我看不出你还想要什么其他好处。寻找具有类似类型系统的动态语言对我来说似乎更为合理。静态类型在编译/解析过程中可以发现比动态类型语言更多的错误。有许多项目包括许多静态类型语言(GHCJ、ocamljs、emscripten等),它们将JavaScript作为“机器语言”的目标在这一点上,它们都处于不同的成熟阶段@Mateusz——学习整个平台要比编写一个平台快得多。