与js.Array

时间:2015-06-26 17:14:47

标签: scala.js

我有一个javascript方法,它接受可以包含多种类型对象的js.Arrays。例如,日期或整数或字符串

如何在不必投射任何类型的情况下对其进行建模。

def domain(p: js.Array[js.Any])

不适用于

domain(js.Array(new js.Date(2015,1,1))

因为js.Array是不变的。

def domain[T <: js.Any](p: js.Array[T])

不适用于

domain(js.Array("Test")) or domain(js.Array(0,2))

因为String和Int不从js.Any继承。 我已经看到有从Int到js.Any的隐式转换,但似乎没有启动

 inferred type arguments [Int] do not conform to method domain's type
 parameter bounds [T <: scala.scalajs.js.Any]

无论如何我有点不解。当sbt的fastOptJS抛出编译错误时,Intellij没有显示错误。

1 个答案:

答案 0 :(得分:0)

找到解决方案。上部视图界限:

def domain[T <% js.Any](p: js.Array[T])