javascript는 prototype을 쓰는 언어이다. prototype을 통해서 다른 class언어의 상속을 구현할 수 있다. 그렇다면 그냥 class 언어와 prototype 언어의 차이가 무엇일까? prototype 언어의 장단점은 무엇인가...
내가 생각하고 공부하고 찾아봤을 때의 장단점은 이렇다.
공통 되는 부분을 prototype에 정의 함으로써 재사용성이 높아지고, 메모리를 절약할 수 있다.
프로그래머 역량에 따라 무척이나 유연한 프로그래밍이 가능하다.
없을거라고 판단했던 속성이 프로토타입에 있어서 예상치 못하게 동작할 수 있다. 즉, 정확성, 예측성 및 안정성이 클래스형 보다 떨어질 수 있음.
class형에 익숙한 개발자들이 처음에 이해하기 어렵다.