[英]How to read/get extended class static properties using the object iteration
[英]How to get updated object array in extended class javascript
大家好,我是 ES6 类的新手,目前想用更新的数据继承启动的对象(this._obj),但是在 class B 中,我正在获取启动的 object 的长度而不是更新的 object?
class A { constructor() { //intiating array of object with length 0 this._obj = new Object(); this._obj['abarray'] = []; } _renderData() { let datas = { id: 1, name: 'abc', }; this._obj['abarray'].push(datas); console.log(this._obj); //output /*{abarray: Array(1)} abarray: Array(1) 0: {id: 1, name: "abc"} length: 1 __proto__: Array(0) __proto__: Object */ } } const a = new A(); a._renderData(); class B extends A { constructor() { super(); } _showObjectData() { //here i want to get the updated object with length 1 as shown in output but i getting as intialized /* {abarray: Array(0)} abarray: Array(0) length: 0 __proto__: Array(0) __proto__: Object */ console.log(this._obj); } } const b = new B(); b._showObjectData();
请任何人都可以帮助如何实现这一目标......
在A
的实例上调用_renderData
不会影响A
或B
的其他实例,如果要为B
的每个实例调用_renderData
,请在构造函数本身中进行调用,否则在B
的单个实例上调用它。
在下面的代码片段中,我创建了A
另一个实例并将其存储在变量a1
中,现在如果您记录a1._obj
它与a._obj
。
class A { constructor() { this._obj = new Object(); this._obj["abarray"] = []; } _renderData() { let datas = { id: 1, name: "abc" }; this._obj["abarray"].push(datas); } } const a = new A(); a._renderData(); console.log("a", a._obj); // Another instance of "A" const a1 = new A(); console.log("a1", a1._obj); // a1._obj is not same as a._obj
B
的constructor
中调用它。 class A { constructor() { this._obj = new Object(); this._obj["abarray"] = []; } _renderData() { let datas = { id: 1, name: "abc" }; this._obj["abarray"].push(datas); } } const a = new A(); a._renderData(); console.log("a", a._obj); class B extends A { constructor() { super(); this._renderData(); } _showObjectData() { return this._obj; } } const b = new B(); console.log("b", b._showObjectData());
B
的实例上调用它。 class A { constructor() { //intiating array of object with length 0 this._obj = new Object(); this._obj["abarray"] = []; } _renderData() { let datas = { id: 1, name: "abc" }; this._obj["abarray"].push(datas); } } const a = new A(); a._renderData(); console.log("a", a._obj); class B extends A { constructor() { super(); } _showObjectData() { return this._obj; } } const b = new B(); b._renderData(); console.log("b", b._showObjectData());
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.