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 |