자바스크립트는 거의 모든 것이 객체이며 함수 객체로 많은 것을 구현
클래스, 생성자, 메서드
함수 객체의 프로토타입 이용
각자 따로 함수 객체를 생성할 필요 없이 함수를 이용하여 체인으로 접근
클래스 안의 메서드를 정의할 때는 프로토타입 객체에 정의한 후,
new로 생성한 객체에서 접근할 수 있게 하는 편이 좋음
Function.prototype.method = function(name, func){ if(!this.prototype[name]) this.prototype[name] = func; } function Person(arg){ this.name = arg; } /*Person.prototype.getName = function(){ return this.name; }*/ Person.method("getName",function(){ return this.name; }) /*Person.prototype.setName = function(value){ this.name = value; } */ Person.method("setName", function(value){ this.name = value; }) var me = new Person('me'); var you = new Person('you'); console.log(me.getName()+'&'+you.getName());
상속
객체 프로토타입 체인을 이용하여 구현
1.클래스 기반 전통적인 상속 방식을 흉내내어 구현
*java, c++과 유사, 클래스와 생성자 등의 개념이 포함되어있는 형태
2.클래스 개념 없이 객체의 프로토타입으로 상속을 구현
*프로토타입을 이용한 상속(prototypal inheritance)
반응형
'학습 log (이론) > javascript' 카테고리의 다른 글
유용한 주요 내장함수 (0) | 2020.09.19 |
---|---|
[jquery 요소 정리] html, CSS 접근 방법 (0) | 2019.01.01 |
'클로저에 대해서' 중요한 (0) | 2016.10.24 |
'스코프 체인에 대해서' 중요한 (0) | 2016.10.24 |
'콜백 함수' 맛보기 (0) | 2016.10.21 |