[딥 다이브 스터디] 17장 생성자 함수에 의한 객체 생성

2024. 4. 1. 15:01·Javascript/Deep Dive
반응형

*우테코 딥 다이브 스터디 준비 중 작성한 정리본으로 필자의 잘못 이해한 부분이나 부족한 부분이 있을 수 있습니다. 

Object 생성자 함수

new 연산자와 함께 Object 생성자 함수를 호출하면 빈 객체를 생성하여 반환한다.

const person = new Object();

생성자 함수 (constructor)란 new 연산자와 함께 호출하여 객체(인스턴스)를 생성하는 함수를 말한다.

생성자 함수에 의해 생성된 객체를 인스턴스라고 한다.

const strObj = new String('Lee');
// String 생성자 함수에 의해 String 객체 생성 

 

 

생성자 함수에 의한 객체 생성 방식의 장점

  • 객체 리터럴에 의한 객체 생성 방식의 문제점
    • 동일한 프로퍼티를 갖는 객체를 여러개 생성하려면 매번 같은 프로퍼티를 재기술해야한다.
// 객체 리터럴 예시 
// 객체 리터럴은 중괄호({})를 사용하여 객체를 생성하고, 중괄호 내에 프로퍼티와 메서드를 정의합니다.
var circle1 = {
    radius: 5, 
    getDiameter() {
	    return 2 * this.radius;
	  }
};
  • 생성자 함수에 의한 객체 생성 방식은 객체(인스턴스)를 생성하기 위한 템플릿(클래스)처럼 생성자 함수를 사용하여 프로퍼티 구조가 동일한 객체 여러개를 간편하게 생성할 수 있다.
// 예시 
function Circle(radius) {
	this.radius = radius; 
	this.getDiameter = function() {
		return 2 * this.radius;
	}
}

const circle1 = new Circle(5);
const circle2 = new Circle(10);
반응형

'Javascript > Deep Dive' 카테고리의 다른 글

[딥 다이브 스터디] 42장 비동기 프로그래밍  (0) 2024.04.03
[딥 다이브 스터디] 16장 프로퍼티 어트리뷰트  (0) 2024.04.01
'Javascript/Deep Dive' 카테고리의 다른 글
  • [딥 다이브 스터디] 42장 비동기 프로그래밍
  • [딥 다이브 스터디] 16장 프로퍼티 어트리뷰트
healim01
healim01
    반응형
  • healim01
    Hailey Daily
    healim01
  • 전체
    오늘
    어제
  • 블로그 메뉴

    • 전체
    • 우테코
    • React
    • JavaScript
    • SOLVED.
    • 개발자의 성장 도파민 기록
    • 개발자의 워크스페이스
    • Every Year Every Month
    • 글쓰기
  • 링크

    • Github
  • 인기 글

  • hELLO· Designed By정상우.v4.10.2
healim01
[딥 다이브 스터디] 17장 생성자 함수에 의한 객체 생성
상단으로

티스토리툴바