我来自C#背景并尝试做那些可以在那里工作的东西,但由于某种原因不适用于流js。
我有接口和实现接口的类:
interface Id {
id: number
}
class A implements Id {
id: number
}
当我尝试使用类的对象代替接口时,一切正常:
var a = new A()
function f(v: Id) {}
f(a)
但是当我尝试使用对象数组时,它会给我一个错误:
var array: Array<A> = [ new A(), new A() ]
function f(array: Array<Id>){}
f(array)
错误是:
'Id(此类型与A不兼容)'
为什么?