개발 공부/자바스크립트

프로토타입을 철학적으로 이해하기 (주의: 매우 이해 쉬움)

5묘 2023. 10. 6. 17:52

자바스크립트 프로토타입은 이해하기 매우 어려운 주제이다.
책을 읽었지만 그래도 이해하지 못했는데, 프로토타입을 철학의 맥락에서 살펴본 아래 자료를 읽고 이해를 한방에 했다!

정말 이해하기 쉽게 되어있고 문과라면 오히려 더 잘 이해할 수 있으니 꼭 읽어보시는 걸 추천!

 

자바스크립트는 왜 프로토타입을 선택했을까

프로토타입으로 검색하면 으레 나오는 서두처럼 저 또한 자바스크립트를 처음 접했을 때 가장 당황스러웠던 게 프로토타입이었습니다.

medium.com

 

정리

- 프로토타입은 이미 존재하는 객체, 즉 생성된 객체를 통해 정의하는 방식이다.
- 그래서 프로토타입 선언 시에 객체 선언의 과정이 포함되어 있는 것이다!
- 프로토타입을 적용한 후, 적용시킨 객체가 해당 속성을 변경해도 프로토타입의 객체 속성은 변경되지 않는다! (안심하자)
- 호이스팅실행 컨텍스트를 생성했을 때, 렉시컬 스코프 내의 선언끌어올려지는 것이다. (YDJS 해당 부분을 한번 더 공부해보자)
- 메시지와 메소드란?

  • 메시지 : 메소드를 실행하라는 메시지 전달
  • 자바에서는 클래스의 메소드를 호출하는 행위메시지라 한다. Js에 이 개념을 적용하면 바로 이 메시지를 발화한 객체(Invoke)this로 지정할 수 있다.

- This 바인딩에 대하여: 발화하는 객체가 this 되므로실행 컨텍스트를 발화하는객체를 찾아야만 한다.