생성자(constructor)란 객체를 생성하고 초기화하는 함수를 말합니다. JavaScript는 객체를 만들기 위해 Object()라는 특별한 내장 생성자 함수를 제공합니다. Object() 생성자의 반환값은 변수에 할당되며, 이 변수에는 새로 생성된 객체에 대한 참조가 저장됩니다.
여기서 주의할 점은, 객체에 할당된 속성(property)들은 일반적인 변수가 아니므로 var 키워드를 사용해 정의하지 않는다는 것입니다. 속성은 단순히 점 표기법(dot notation)을 통해 객체에 직접 추가하면 됩니다.
Object() 생성자 사용 예제
아래 코드를 실행하면 Object() 생성자를 활용해 JavaScript 객체를 다루는 방법을 직접 확인할 수 있습니다.
<html>
<head>
<title>사용자 정의 객체</title>
<script>
var book = new Object(); // 객체 생성
book.subject = "Perl"; // 객체에 속성 할당
book.author = "Tutorialspoint";
</script>
</head>
<body>
<script type="text/javascript">
document.write("책 이름 : " + book.subject + "<br>");
document.write("책 저자 : " + book.author + "<br>");
</script>
</body>
</html>실행 결과
책 이름 : Perl 책 저자 : Tutorialspoint
추가 팁: 더 간결한 객체 리터럴 방식
실무에서는 new Object() 대신 객체 리터럴({}) 문법을 더 많이 사용합니다. 아래와 같이 작성하면 동일한 결과를 얻으면서 코드가 더 간결해집니다.
var book = {
subject: "Perl",
author: "Tutorialspoint"
};두 방식 모두 같은 결과를 만들지만, 객체 리터럴이 가독성과 성능 면에서 유리하기 때문에 현대 JavaScript 개발에서 권장되는 방식입니다.