디자인 패턴 - prototype

Jaa-van·2023년 6월 1일
0
post-thumbnail

객체의 원형인 프로토타입을 이용하여 새로운 객체를 만들어내는 프로그래밍 기법

JS - 프로토 타입의 강점과 함께 한다

생성자 함수의 프로토 타입에 같은 속성이 들어있으면 동일한 생성자가 만든 객체에도 속성이 았다

function Person() {}
Person.prototype.age = 20;

var kim = new Person();
var park = new Person();

console.log(kim.age); // => 20
console.log(park.age); // => 20

프로토타입 상속을 기반으로 한다

프로토 타입 개체는 생성자가 만드는 각 개체의 청사진으로 사용된다

객체는 언제나 함수로 생성된다
그리고 항상 prototype object 가 생성된다

이 prototype object 안에는
constructor 와 proto 가 존재한다

constructor 는 생성된 함수를 가리키고 있고,

proto 는 복사해온 함수의 prototype object 를 가리킨다

=>

var myCar = {

  name: "Ford Escort",

  drive: function () {
    console.log( "Weeee. I'm driving!" );
  },

  panic: function () {
    console.log( "Wait. How do you stop this thing?" );
  }

};

// Use Object.create to instantiate a new car
var yourCar = Object.create( myCar );

// Now we can see that one is a prototype of the other
console.log( yourCar.name );

프로토타입을 사용하여 Number 에 메소드 추가하기

Number.prototype.power = function (n) {
    return this.valueOf( ) ** n
}

const a = 12
console.log('a.power(2)') // 12 ** 2 == 144

0개의 댓글