본문 바로가기
2020-2021/TIL

Instantiation Patterns

by Tate_Modern 2020. 10. 28.

 

1. Functional


let Ocar = function () {
  var someInstance = {};
  someInstance.position = 0;
  someInstance.move = function () {
    this.position += 1;
  };
  return someInstance;
};


let ACar = function (position) {
  var someInstance = {};
  someInstance.position = position;
  someInstance.move = function () {
    this.position += 1;
  }; //객체 안에 2가지 정보를 넣음 position과 move
  return someInstance;
};

 

2. Functional Shared

let extend = function (to, from) {
  for (var key in from) {
    to[key] = from[key];
  } 
}; 

let someMethodes = {};
someMethodes.move = function () {
  this.position += 1;
};

let car1 = function (position) {
  let someInstance1 = {
    position: position,
  };
  extend(someInstance1, someMethodes);
  return someInstance1;
};

 

3. Prototypal

let someMethodes1 = {};
someMethodes1.move = function () {
  this.position += 1;
};

let car2 = function (position) {
  let someInstance = Object.create(someMethodes1); 
  someInstance.position = position;
  return someInstance; 
};

 

4. Pesudoclassical

let car3 = function (position) {
  this.position = position;
};

car3.prototype.move = function () {
  this.position += 1;
};

'2020-2021 > TIL' 카테고리의 다른 글

time complexity  (0) 2020.10.28
Inheritance - (Prototype chain)  (0) 2020.10.28
Obj Oriented Programming?!  (0) 2020.10.28
Trees  (0) 2020.10.27
26일 HashTable  (0) 2020.10.26

댓글