Scala.js 0.6.29 发布,将 Scala 编译成 js 的编译器

2019-09-22    来源:OSCHINA

容器云强势上线!快速搭建集群,上万Linux镜像随意使用

Scala.js 是一个将 Scala 语言编译成 JavaScript 的工具,旨在构建更健壮的前端 web 应用程序。0.6.29 版本包括:

  • 用 SBT 1.x 对增量编译中的主要错误进行修复
  • 主要的性能改进,特别是在模式匹配方面

它还引入了 js.import(ModuleName),相当于 JavaScript 的动态 import() 调用。具体如下:

js.import( ) 动态导入

CMAScript 2020 将标准化动态导入,Scala.js 使用 js.import[A<:js.Any]() 方法添加对它们的支持,它返回一个 js.promisation[A],其中参数 A 是描述模块 API 的 JS 特性。

import scala.scalajs.js

trait FooAPI extends js.Any {
  def bar(x: Int): Int
}

val moduleName = "foo.js"
val promise = js.`import`[FooAPI](moduleName)
val future = promise.toFuture
for (module <- future) {
  println(module.bar(5))
}

JDK 集合被重写,不再依赖 Scala 集合

在 0.6.28 之前,几个 JDK 集合(包括 java.util.HashMap、java.util.HashSet 和 java.util.TreeSet)都是在相应的 Scala 集合之上实现的(例如,Scala.Collection tion.immutable.HashMap),由于 JDK 集合和 Scala 集合之间的语义不匹配,导致效率问题。在 Scala.js 0.6.29 中,完全重新实现了所有这些集合,使 JDK 集合不再依赖 Scala 集合。

对 Unicode 数据库进行了升级,使其与最新的 JDK 8 相匹配

以下 Unicode 字符现在已被 java.lang.Character 方法识别并正确分类:00BB,20BC 到 20BF 和 32FF。

该版本还带来其他更改和修复,详情见发布说明。

标签: [db:TAGG]

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点!
本站所提供的图片等素材,版权归原作者所有,如需使用,请与原作者联系。

上一篇:Swift 5.1?发布

下一篇:ILSpy 5.0 发布,.NET 反编译工具