종합 속보

자바스크립트 (ES6 이후의) 프로토타입 개념을 처음 배우다가 든 생각입니다. (1~7)

..잘 이해하고 있는 건지 잘 모르겠습니다.

모쪼록 조언을 부탁드립니다.


[1] 프로토타입을 쓰면 function MyClass() 클래스 만들 때, 작성되지 않은 속성, 메소드를 (공통적으로) 포함시킬 수 있다.


[2] 프로토타입으로 추가한 속성, 메소드는 런타임으로 생성한 객체에서 공통적으로 접근할 수 있다. (선언할 때 MyClass()로 선언한 객체들이 해당)


[3] 클래스 정의시 포함시킨 메소드는 정적 메소드이다. (?)


[4] MyClass.prototype.name = "Alice";

와 같이 작성한다.


[5] 협업할 때 서로 객체의 정확한 속성, 메소드 종류를 모를 때 용이하게 쓸 수 있다.

또한 업데이트 테스트 단계에서 쓸 수 있다.

(땜빵 가능)


[6] 그럼 미리 협업하는 사람들끼리 클래스의 구성 속성, 메소드를 잘 공유하여 설계 단계서부터 잘 작성하면 더 안정적인 코드가 되지 않을까?

프로토타입을 쓰면 클래스 정의 부분에서 모든 속성, 메소드를 알 수 없으니까 프로토타입으로 추가/수정된 부분을 직접 찾아야 한다.

크게 보면 비효율적일 것 같다.


[7] 왜 쓰는 걸까? 프로토타입을 쓰면 보안/권한상 추가할 수 없거나 변경할 수 없는, 혹은 내용을 알 수 없는 클래스의 속성 또는 메소드를 추가할 수 있게 된다. 따라서 이와 같은 경우, 테스트하여 권한 등이 있는 부서에 요청해 클래스 정의 부분을 수정받거나 프로토타입을 선언한 것으로 객체 속성, 메소드 이용을 할 수 있게 된다.


읽어주셔서 감사합니다.