더북(TheBook)

3.5.1 new 객체 생성 패턴

자바스크립트에서 객체를 new로 생성하는 구문 패턴은 C#, C++, 자바 등 여타 고전 언어와 모양새가 비슷하다.

TIP

클래스와 생성자를 이용하여 사용자 타입을 정의하는 언어라는 의미에서 ‘고전(classical)’이라는 단어를 썼다(필자들보다도 C++가 먼저 태어났다). 그리스나 라틴 고전을 지칭하는 ‘연령’의 의미가 아니다.

 

예제 3-3의 Marsupial3 함수는 new 객체 생성 패턴으로 자신의 객체 인스턴스를 생성한다.

예제 3-3 Marsupial 함수와 생성자 함수 사용법

소스 파일 3장\New Pattern\newpattern_01.js

function Marsupial(name, nocturnal) {
this.name = name;
this.isNocturnal = nocturnal;
}

var maverick = new Marsupial('매버릭', true);
var slider = new Marsupial('슬라이더', false);

console.log(maverick.isNocturnal); // true
console.log(maverick.name); // "매버릭"
console.log(slider.isNocturnal); // false
console.log(slider.name); // "슬라이더"

Marsupial 함수는 주어진 인자를 내부적으로 생성할 인스턴스의 프로퍼티에 할당한다. 다음 줄에서 maverick, slide라는 이름으로 생성한 두 Marsupial 인스턴스는 각자 고유한 프로퍼티 값을 가진다.

 

3 역주 marsupial은 포유류의 한 갈래인 유대류입니다. 캥거루나 코알라가 유대류 동물에 속합니다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.