Advertisement
Guest User

Untitled

a guest
Jan 17th, 2018
79
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.14 KB | None | 0 0
  1. function MemberFactory(){
  2. this.createMember = function(name, type) {
  3. let member;
  4.  
  5.  
  6. if(type === "simple"){
  7. member = new SimpleMembership(name)
  8. }
  9. if(type === "standard"){
  10. member = new StandardMembership(name)
  11. }
  12. if(type === "super"){
  13. member = new SuperMembership(name)
  14. }
  15.  
  16. member.type = type;
  17.  
  18. member.define = function(){
  19. console.log(`${this.name} (${this.type}): ${this.cost}`)
  20. }
  21.  
  22. return member
  23.  
  24. }
  25. }
  26.  
  27. constr SimpleMembership = function(name){
  28. this.name = name;
  29. this.cost = `$5`;
  30. }
  31.  
  32. const StandardMembership = function(name){
  33. this.name = name;
  34. this.cost = `$15`
  35. }
  36.  
  37. const SuperMembership = function(name){
  38. this.name = name;
  39. this.cost = `$25`;
  40. }
  41.  
  42. const members = [];
  43. const factory = new MemberFactory();
  44.  
  45. members.push(factory.createMember(`John Doe`, `simple`));
  46. members.push(factory.createMember(`Bob John`, `standard`));
  47. members.push(factory.createMember(`Israel Love`, `super`));
  48.  
  49. //this below uses a function which will console.log name-type, u can also console.log member
  50. members.forEach(function(members){
  51. members.define()
  52. })
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement