我有一个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没有显示错误。
答案 0 :(得分:0)
找到解决方案。上部视图界限:
def domain[T <% js.Any](p: js.Array[T])