👋 인스턴스에 함수로 추가
함수로 추가
-
new
연산자로 인스턴스를 생성하고- 인스턴스의 프로퍼티로 함수를 추가
- 다른 인스턴스와 공유하지 않음
-
인스턴스에 추가한 후의 인스턴스 구조
function Book() { this.point = 100; } Book.prototype.getPoint = function () { return this.point; }; const obj = new Book(); // 인스턴스 프로퍼티(함수)로 추가 함 obj.setPoint = function (param) { this.point = param; }; // obj를 펼치면 __proto__ 위에 setPoint가 표시됨 // 인스턴스의 함수 형태로 호출함 // 함수에서 this가 인스턴스를 참조함 obj.setPoint(200); // prototype에 연결된 메소드를 호출 함 console.log(obj.getPoint()); const newObj = new Book(); console.log(newObj.setPoint); // undefined /* 1. 새로운 인스턴스를 생성하면 - setPoint()를 인스턴스에서 사용할 수 없게 됨 2. 인스턴스의 프로퍼티로 설정했기 때문 3. 인스턴스의 프로퍼티로 연결한 것과 - prototype에 연결한 메소드의 차이 임 */