본문 바로가기
자바스크립트 (JavaScript)/이론

생성자 함수 개념

by Hwanii_ 2023. 8. 27.
728x90

1.

객체 생성시, 아래와 같이 생성 할 수 있다.

 

 

2.

그런데, 객체를 여러개 생성 해야 할 때,

위와 같이 코드를 작성 하면, 불리 하다.

 

그래서, 생성자를 작성 해서, 객체를 생성 할 수 있다.

 

 

3.

생성자 함수명은 관례적으로 대문자로 시작 하는것으로 작성 한다.

 

함수명 앞에 new 키워드를 붙히면,

즉, new 함수명(); 을 작성 하면,

 

아래와 같은 알고리즘으로 동작 하게 된다.

 

 

6번째 라인과 같이, 빈 객체를 생성 하고, this에 할당 한다.

그 다음에,

this에 프로퍼티들을 추가 한다.

 

실제로 this = {} 코드는 작성된 코드가 아니지만, 저렇게 동작 한다는 것이다.

 

일일히 객체에 리터럴을 작성 하지 않고,

훨씬 빠르고 일관성 있게 객체를 생성 할 수 있게 된다.

 

4.

예시 01)

 

 

위와 같이, 생성자 내부에 무명 함수를 작성 할 수도 있다.

 

sayName 이라는 프로퍼티가 있다.

 

프로퍼티의 값으로 무명 (익명) 함수를 작성 했고,

해당 함수는 이름을 콘솔창에 띄우는 기능을 하는 함수 이다.

 

 

5.

예시 02)

 

 

 

 

 

 

[ 참고 ]

 

item3.showPrice() 라고 해야지, 함수 내부의 코드가 실행 되어,

결과를 출력 할 수 있다.

 

item3.showPrice 라고, 괄호 없이 작성 하면,

함수를 참조 하기만 하고 실행 되지는 않는다.

 

sayName도 마찬 가지이다.

 

[ 결론 ]

함수가 위와 같이 할당 되었으면,

해당 프로퍼티를 호출 하기 위해서, 프로퍼티명 + () 해서,

프로퍼티() 로 작성 해줘야 한다.

함수를 가리키는게 아니라, 함수를 실행 하기 위함 이다.

 

 

반응형