Javascript

자바스크립트 프로토타입 (Prototype)

소밍소밍 2022. 3. 14. 00:39

자바스크립트는 프로토타입 기반 언어이다. ECMA6에서 Class 개념이 도입되기는 했지만, Class 기반 언어로 바뀐 것은 아니다.

사용 예시

function Person() {}
  
Person.prototype.eyes = 2;
Person.prototype.nose = 1;
 
var kim  = new Person();
var park = new Person():
 
console.log(kim.eyes); // => 2
...

이렇게 사용하면 눈 4개, 코 2개가 메모리에 할당된다. 하지만 프로토타입을 사용하게 되면,

function Person() {
  this.eyes = 2;
  this.nose = 1;
}
var kim  = new Person();
var park = new Person();
 
console.log(kim.eyes);  // => 2
console.log(kim.nose);  // => 1
console.log(park.eyes); // => 2
console.log(park.nose); // => 1

눈 2개, 코 1개를 다함께 공유해서 쓸 수 있게 된다.

참고 링크

'Javascript' 카테고리의 다른 글

자바스크립트의 익명함수와 기명함수  (0) 2022.03.14