19장 프로토타입 ⭐⭐⭐⭐⭐
19.1 객체지향 프로그래밍
19.2 상속과 프로토타입
// 생성자 함수
function Circle(radius){
this.radius = radius
}
// 프로토타입에 메서드 추가
Circle.prototype.getArea = function(){
return Math.PI * this.radius ** 2
}
// 인스턴스 생성
const circle1 = new Circle(1)
const circle2 = new Circle(2)
// Circle 생성자 함수가 생성하는 모든 인스턴스는 하나의 getArea 메서드를 공유한다.
console.log(circle1.getArea === circle2.getArea) //true19.3 프로토타입 객체
19.3.1 proto 접근자 프로퍼티
19.3.2 함수 객체의 prototype 프로퍼티
19.3.3 프로토타입의 constructor 프로퍼티와 생성자 함수
19.4 리터럴 표기법에 의해 생성된 객체의 생성자 함수와 프로토타입
19.5 프로토타입의 생성 시점
19.5.1 사용자 정의 생성자 함수와 프로토타입 생성 시점
19.5.2 빌트인 생성자 함수와 프로토타입 생성 시점
19.6 객체 생성 방식과 프로토타입의 결정
19.6.1 객체 리터럴에 의해 생성된 객체의 프로토타입
19.6.2 Object 생성자 함수에 의해 생성된 객체의 프로토타입
19.6.3 생성자 함수에 의해 생성된 객체의 프로토타입
19.7 프로토타입 체인
19.8 오버라이딩과 프로퍼티 섀도잉
19.9 프로토타입의 교체
19.9.1 생성자 함수에 의한 프로토타입 교체
19.9.2 인스턴스에 의한 프로토타입 교체
19.10 instanceof 연산자
19.11 직접 상속
19.11.1 Object.create에 의한 직접 상속
19.11.2 객체 리터럴 내부에서 __proto__에 의한 직접 상속
19.12 정적 프로퍼티/메서드
19.13 프로퍼티 존재 확인
19.13.1 in 연산자
19.13.2 Object.prototype.hasOwnProperty 메서드
19.14 프로퍼티 열거
19.14.1 for … in 문
19.14.2 Object.keys/values/entries 메서드
Last updated