자바스크립트는 프로토타입 기반 언어이다. 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 |
---|