Factory Function : Stack
JavaScript
"use strict";
function Stack(){
let list = [];
function push(value){ list.push(value); }
function pop(){ return list.pop(); }
return Object.freeze({
push,
pop
});
}
let stack = Stack();
stack.push(1);
stack.push(2);
stack.push(3);
console.log(stack.pop()); //3
console.log(stack.pop()); //2
console.log(stack.list); //undefined