[CORE - JAVASCRIPT] 5. Prototype

기록하며 공부하자·2022년 6월 27일
0
post-thumbnail

Prototype 이란?

function Person(n, a) {
  this.name = n;
  this.age = a;
}

var jay = new Person("제이", 30);

var jayCone1 = new jay.__proto__.constructor("제이_클론1", 10);

var jayCone2 = new jay.constructor("제이_클론2", 25);

var jayCone3 = new jay.Object.getPrototypeOf(jay).constructor("제이_클론1", 10);

var jayCone4 = new Person.prototype.constructor("제이_클론1", 10);

//jay라는 원본과 clone들은 모두 Person의 인스턴스(모두 동일한 프로퍼티에 접근할수 있기 때문)

메서드 상속 및 동작 원리

프로토타입을 이용하면 반복을 매번 동일한 함수를 작성할 필요없이 코드량을 줄일수 있다.

function Person(n, a) {
  this.name = n;
  this.age = a;
}

var jay = new Person("제이", 30);
var mumu = new Person("무무", 25);

jay.setOlder = function () {
  this.age += 1;
};

jay.getAge = function () {
  return this.age;
};

mumu.setOlder = function () {
  this.age += 1;
};

mumu.getAge = function () {
  return this.age;
};

매번 함수를 정의하기 보다

function Person(n, a) {
  this.name = n;
  this.age = a;
}

Person.prototype.setOlder = function () {
  this.age += 1;
};

Person.prototype.getAge = function () {
  return this.age;
};
var jay = new Person("제이", 30);
var mumu = new Person("무무", 25);

jay.setOlder();

jay.getAge();

mumu.setOlder();

mumu.getAge();

//prototype으로 인해 반복하지 않고 코드 작성 가능

프로토 타입을 정의후 상속하여 코드를 반복하지 않고 사용가능하며, 메모리 성능에도 큰 도움이 된다.

profile
프론트엔드 개발자 입니다.

0개의 댓글

관련 채용 정보