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

afterer
 afterer
发布于 2019年09月22日
收藏 5

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。

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

本站文章除注明转载外,均为本站原创或编译。欢迎任何形式的转载,但请务必注明出处,尊重他人劳动共创开源社区。
转载请注明:文章转载自 OSCHINA 社区 [http://www.oschina.net]
本文标题:Scala.js 0.6.29 发布,将 Scala 编译成 js 的编译器
加载中
返回顶部
顶部