본문 바로가기

Web

prototype chain

1. 함수 선언 및 인스턴스 선언

let Person = function() {
  this.a = 1;
  this.b = 2;
};

let person1 = new Person();

 

2. prototype 생성방법 2가지

Person.prototype.b = 3; //1
person1.b = 3; //2

 

3. prototype chain

let Person = function() {
  this.a = 1;
  this.b = 2;
};

let person1 = new Person();
Person.prototype.b = 3;
Object.prototype.c = 4;

console.log(person1.a); // 1
// 첫번째 체인에서 찾음.

console.log(person1.b); // 2
// 두번째 체인에도 b가 있지만 무시된다. (property shadowing)

console.log(person1.c); // 4
// 세번째 체인에서 찾음.

 

 

console.log("체인 순서");
console.log(person1);
console.log(person1.__proto__);
console.log(person1.__proto__.__proto__);
// {a: 1, b: 2} ---> {b: 3} ---> {c: 4}

 

'Web' 카테고리의 다른 글

Vanilla Javascript 라우터 구현  (0) 2021.09.27
Vanilla Javascript Component Core 구현  (0) 2021.09.26
WebPack을 이용한 Typescript 번들링  (0) 2021.08.09
Class  (0) 2020.05.01
Javascript 배열함수  (0) 2020.04.28