반응형
1. 프로토 타입
- 프로토 타입은 모두 객체 (숫자형, 문자형, 배열, 함수든 할것없이 모든 데이터 타입
- [1,2,3].constructor = [1,2,3].[[Prototype]].constructor = Array.prototype.contructure = Array
function Person(n, a){
this.name = n;
this.age = a;
}
var roy = new Person('로이', 30);
var royClone1 = new roy.__proto__.contructor('로이_클론1', 10);
var royClone2 = new roy.contructor('로이_클론1', 25);
var royClone3 = new Object.getPrototypeOf(roy).contructor('로이_클론3', 20);
var royClone4 = ne Person.prototype.contructor('로이_클론1', 10);
2. 메소드 상속 및 동작원리
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 roy = new Person('로이', 30);
var jay = new Person('제이', 25);
3. prototype chaining
- 인스턴스에는 메서드가 없음에도 불구.
- [[Prototype]] 이라는 프로토타입이라는 매개체 덕분에 생성자함수(Contructor)의 prototype에 있는 메서드를 마치 자신의 것처럼 쓸수 있음.
- [[Prototype]]로 이어진 각 prototype에 모두 접근할 수 있는 것으로 prototype chaining이라고함.
반응형
'JavaScript +HTML5 + CSS3' 카테고리의 다른 글
[개념 정리] FRONT-END (0) | 2021.09.06 |
---|---|
[Core JavaScript] 7. Class (0) | 2021.08.29 |
[Core JavaScript] 5. closure (0) | 2021.08.29 |
[Core JavaScript] 4. callback function (0) | 2021.08.29 |
[Core JavaScript] 3. this (0) | 2021.08.29 |