[자바스크립트 Deep Dive] 17장. 생성자 함수에 의한 객체 생성

lemythe423·2023년 7월 30일
0

자바스크립트 DeepDive

목록 보기
14/14

객체 리터럴에 의한 객체 생성의 문제점

  • 단 하나의 객체만 생성해야 함
  • 동일 프로퍼티를 갖는 여러 개의 객체를 생성해야 하는 경우 매번 같은 프로퍼티를 기술해야 하므로 비효율적

생성자 함수를 사용한 객체 생성

function Circle(radius){
	this.radius = radius;
  	this.getDiameter = function() {
    	return 2*this.radius;
    };
}

const circle1 = new Circle(5);
const circle2 = new Circle(10);

인스턴스 생성 과정

JS엔진은 암묵적 처리를 통해 인스턴스 생성하고 반환

1. 인스턴스 생성과 this 바인딩

  • 암묵적으로 빈 객체 생성
  • 빈 객체 = 인스턴스는 this에 바인딩

2. 인스턴스 초기화

  • 생성자 함수에 기술되어 있는 코드가 this에 바인딩 되어 있는 인스턴스를 초기화
  • 프로퍼티나 메서드를 추가하는 것, 생성자 함수가 인수로 전달받은 초기값을 인스턴스 프로퍼티에 할당하는 등

3. 인스턴스 반환

  • 모든 처리가 끝나고 반환
profile
아무말이나하기

0개의 댓글