How can I create an array of my class?
I see it something like this:
in main.js
....
mySuperClass = require('./mySuperClass.js');
objArray = new Object();
...
objArray["10"] = new mySuperClass(10);
console.log(objArray["10"].getI);
objArray["20"] = new mySuperClass(20);
console.log(objArray["20"].getI);
objArray["30"] = new mySuperClass(30);
console.log(objArray["30"].getI);
in mySuperClass.js
var _i = 0;
var mySuperClass = function(ar) {
_i = ar;
}
mySuperClass.prototype.getI = function()
{
return _i
}
module.exports.create = function() {
return new mySuperClass();
}
module.exports._class = mySuperClass;
After exec, I get an error
TypeError: object is not a function at Object.CALL_NON_FUNCTION_AS_CONSTRUCTOR (native)
What I need to correct?
I was able to get it to work by using the following:
var _i = 0;
var mySuperClass = function(ar) {
_i = ar;
}
mySuperClass.prototype.getI = function()
{
return _i
}
/*module.exports.create = function() {
return new mySuperClass();
} */
module.exports.mySuperClass = mySuperClass;
module = require('./myclass.js');
objArray = new Object();
objArray["10"] = new module.mySuperClass(10);
console.log(objArray["10"].getI());
objArray["20"] = new module.mySuperClass(20);
console.log(objArray["20"].getI());
objArray["30"] = new module.mySuperClass(30);
console.log(objArray["30"].getI());
Based on what I read here: http://nodeguide.com/beginner.html#the-module-system, you add properties to the export object, and use them as such. I'm not sure if the create one is reserved, but I found that I didn't need it.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With