donaricano-btn

자바스크립트의 클래스와 생성자의 강제적 호출 


1. 클래스

- 자바스크립트는 클래스가 존재하지 않는다. 그렇기 때문에 함수를 이용하여 클래스를 정의한다


1) 정의 법칙

a. 이름은 대문자로 시작

b. 프로퍼티는 this.이름

- this는 생성된 인스턴스를 가리킨다

c. 메소드는 함수형 프로퍼티

- 값이 함수 객체인 프로퍼티를 메소드로 동작시킴

- 메소드를 생성자에 정의하는 것은 효율적으로 좋지않다(프로토타입 사용)

d. 반환값은 필요없다


2. new 키워드 없이 객체 인스턴스 생성?

1) 문제 : 만약 new 키워드 없이 객체를 만들려고 한다면 어떻게 될까?

 

- 실행결과 : undefined, Hee, error

- new 키워드가 없다면 그건 생성자가 아닌 보통 함수가 되어버린다

- Person 객체는 생성되지 않고, 전역 변수 name이 생성된다

2) 해결

- 이런 new 키워드 실수를 방지하고자 생성자 안에 임의 소스를 삽입한다

 

- this전역객체 혹은 undefined일 것이다

- this를 이용하여 Person 객체가 아니라면 자동으로 new 로 객체를 만드는 소스를 삽입한다


블로그 이미지

리딩리드

,