I’m using module pattern on JS. Trying to make 2 private properties which first property will hold the number i.e 3. The second property is array of string which hold the items.
I’ve been trying but it gives me an error (undefined)
//MODULE DESIGN PATTERN
var myModule = function() {
//PRIVATE PROPERTIES AND METHODS
var holdNumber = 3;
var arrhold = [];
//private
function PrivateMessage(obj) {
console.log("Object successfully added: " + obj)
}
//public
function addObject(obj) {
arrhold.push(obj);
PrivateMessage(obj);
}
return {
addItem: addObject
}
}();
console.log(myModule.addItem("A"));
console.log(myModule.addItem("A"));
>Solution :
addObject does not return any data from arrhold. If you want to add and print that array, you should add return to addObject
//MODULE DESIGN PATTERN
var myModule = function() {
//PRIVATE PROPERTIES AND METHODS
var holdNumber = 3;
var arrhold = [];
//private
function PrivateMessage(obj) {
console.log("Object successfully added: " + obj)
}
//public
function addObject(obj) {
arrhold.push(obj);
PrivateMessage(obj);
return arrhold; //return arrhold
}
return {
addItem: addObject
}
}();
console.log(myModule.addItem("A"));
console.log(myModule.addItem("A"));