- 자바스크립트에는 클래스가 없다.
- 함수 내부에서 this의 의미는 클래스 언어에서 말하는 인스턴스 자신이 아니라 함수에게 전달된 컨텍스트다.
- 클래스 언어는 인스턴스를 기준으로 메서드를 호출하는 문법만 존재하나, 자바스크립트는 함수에게 인스턴스를 전달하는 방법도 존재한다.
- new는 근본적으로 오브젝트를 만들어낸다.
- new 뒤에 오는 것은 클래스가 아니라 그저 함수다.
- new로 생성한 오브젝트는 new에 전달된 함수의 prototype이라는 속성을 자신의 __proto__에 참조로 잡게 된다.
- new가 실행되면 3단계(오브젝트생성, prototype할당, 함수호출)의 순차적인 작업이 일어난다.
'JavaScript' 카테고리의 다른 글
일반for문 vs. for in문 (0) | 2020.05.28 |
---|---|
렉시컬 스코핑, 실행 컨텍스트와 클로저 (0) | 2020.05.06 |
Function, Method, Property 의 차이 및 정의 (0) | 2020.03.25 |
객체 얕은 복사(shallow copy)와 깊은 복사(deep copy) (0) | 2020.03.18 |
호이스팅(Hoisting) (0) | 2020.01.21 |