我看网站说是定义接口,但是为什么报错是访问不到x呢,求大佬给个写法


![]()
![]()
![]()
new Array<RandomIndex> ()可不叫创建了一个RandomIndex数组,你的每一个数组元素没有 new
这只是 new 了一个数组对象,没有 new 任何一个数组元素
那应该如何new呢,大佬
我对TS接口不懂,
let array = new Array<RandomIndex>();
while(array.length < 100){
array.push(new 实现了接口的类());
}
还是不太会,我太菜了,new 那里应该怎么写
interface IRandomIndex {
x: number;
y: number;
}
class RandomIndex1 implements IRandomIndex {
x = 0;
y = 0;
}
class RandomIndex2 implements IRandomIndex {
x = 0;
y = 0;
}
class RandomIndex3 {
x = 0;
y = 0;
}
let array = new Array<IRandomIndex>();
while (array.length < 100) {
// 这里能用 RandomIndex1 也能用 RandomIndex2,因为他们都实现了 IRandomIndex
// 这里不能用 RandomIndex3,因为 RandomIndex3 没有实现 IRandomIndex
array.push(new RandomIndex1());
}
这里的类实现能用匿名的方式吗,我有很多这种类,怎么匿名呢,,
那你应该需要的是工厂方法模式吧,根据输入的产品类型,返回一组该产品对象,创建对象数组的地方全部换成工厂类来创建
我只是想在数组里面存一个类似json的对象,能够通过这个数组下标进行访问
但是你这数组对象又想不创建数组元素就用,你这话翻译过来就是我就是要访问不存在的对象,请问怎么做
我的,我好像知道写法了,直接let 变量:RandomIndex = {
}