我想在调用类的构造函数时创建对象的数组或对象吗?我的意思是,每次调用类构造函数时,它都会向数组或对象添加新对象。
FE
let blocks = {};
class Block(){
constructor(X,Y,width,height){
this.X = X;
this.Y = Y;
...
and now I would like to add this created object to "blocks"
something like: blocks.push(and this object here)
}
}
我如何实现这样的东西?还是应该使用其他功能?
类似于:blocks.push(和此处的对象)
那就是您要做的事情,但是blocks
应该是一个数组,而不是一个对象。所以:
let blocks = [];
然后在构造函数中:
blocks.push(this);
现场示例:
let blocks = []; // <== [], not {}
class Block { // No ()
constructor(X,Y,width,height){
this.X = X;
this.Y = Y;
blocks.push(this);
}
}
new Block(1, 1, 1, 1);
new Block(2, 2, 2, 2);
new Block(3, 3, 3, 3);
console.log(blocks.length); // 3
但是,请注意,这意味着对象(已创建的块)将始终保留在内存中,即使它最初创建的任何内容随其完成并放开它也是如此。通常,您不会让构造函数执行类似的操作,而是将其留给调用方。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句