Skip to content

Instantly share code, notes, and snippets.

@skrajewski
Last active March 18, 2021 13:24
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save skrajewski/d33bfee3a1b31d0bb7c8ea42bcf113a6 to your computer and use it in GitHub Desktop.
Save skrajewski/d33bfee3a1b31d0bb7c8ea42bcf113a6 to your computer and use it in GitHub Desktop.
Class or function. What is better?
const stackA = new Stack();
stackA.push("abc");
stackA.push("xyz");
console.log(stackA.stack);
stackA.stack = [];
console.log(stackA.stack);
const stackB = createStack()
stackB.push("abc");
stackB.push("xyz");
console.log(stackB.stack);
stackB.stack = [];
console.log(stackB.stack);
console.log(stackB.pop());
const stackC = createStack()
console.log(stackC.pop());
class Stack {
constructor() {
this.stack = [];
}
push(el) {
this.stack.push(el);
}
pop() {
return this.stack.pop();
}
}
const createStack = function () {
const stack = [];
const push = (el) => stack.push(el);
const pop = () => stack.pop();
return {
push, pop
};
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment