Scala.js
将Scala
代码编译为Javascript
。对我来说很清楚。
但我无法找到任何信息,Javascript
是什么。是ES 5.5
,还是ES 2015
或更晚?它是否填充现代方法,或将其转换为旧方法,如babel
做什么?
是否在任何地方scala.js browser compatibility table
?
对不起我的英语不好。它不是我的母语。
答案 0 :(得分:3)
Scala.js默认编译为ECMAScript 5.1严格模式(但本身不需要严格模式支持)。您可以参考Kangax ES 5 compatibility table以准确查看Scala.js的运行位置。实际上,这基本上都受到所有浏览器的支持,包括非常旧的浏览器。
您还可以将Scala.js配置为发出需要ECMAScript 2015的代码,并使用以下sbt设置:
import org.scalajs.core.tools.linker.standard._
scalaJSLinkerConfig ~= { _.withOutputMode(OutputMode.ECMAScript2015) }
在任何情况下,Scala.js都不会以对同一网页上的外部JavaScript代码可见的方式填充任何内容。如果某些ES功能不存在,它会在内部使用一些后备实现,例如,当针对ES 5.1时,Math.imul
。