클래스 기반 언어 vs 자바스크립트

|
  1. 자바스크립트에는 클래스가 없다.
  2. 함수 내부에서 this의 의미는 클래스 언어에서 말하는 인스턴스 자신이 아니라 함수에게 전달된 컨텍스트다.
  3. 클래스 언어는 인스턴스를 기준으로 메서드를 호출하는 문법만 존재하나, 자바스크립트는 함수에게 인스턴스를 전달하는 방법도 존재한다.
  4. new는 근본적으로 오브젝트를 만들어낸다.
  5. new 뒤에 오는 것은 클래스가 아니라 그저 함수다.
  6. new로 생성한 오브젝트는 new에 전달된 함수의 prototype이라는 속성을 자신의 __proto__에 참조로 잡게 된다.
  7. new가 실행되면 3단계(오브젝트생성, prototype할당, 함수호출)의 순차적인 작업이 일어난다.

출처 : https://www.bsidesoft.com/?p=318&

And