객체지향을 구현하는 방법으로 대표적으로는 클래스가 있습니다.
그런데 자바스크립트는 왜 클래스가 아닌 프로토타입으로 객체지향을 구현하였을까요?
자바스크립트는 왜 다른 언어에는 흔하지 않는 개념인 호이스팅, this, 실행컨텐스트 같은것들이 있을까요?
링크된 글에는 왜 자바스크립트가 프로토타입을 선택했는지, 호이스팅 및 this 같은 개념들이 있는지 철학적인 이유와 함께 비교적 명쾌하게 알려줍니다.
꽤 재미있는 내용이고 유명한 아티클 이니 아직 안보신분들은 한번씩 보시는걸 추천드립니다