Skip to main content

Command Palette

Search for a command to run...

자바스크립트 프로토타입 공부하기 싫은 사람 모여라

프로토타입을 왜 알아야 하는지 알아봐요

Updated
1 min read
자바스크립트 프로토타입 공부하기 싫은 사람 모여라

지긋지긋한 객체 지향... 자바스크립트 개발자들은 프로토타입에 대해 왠지 모를 거리감을 갖게 됩니다. 저 또한 그 중 한 명인데요, 스스로를 설득하기 위해 프로토타입을 왜 알아야 하는지 간단하게 정리해봤습니다.

자바스크립트 내부 동작을 이해하는 데 도움되요

JS는 원시값을 제외한 거의 모든 것이 객체입니다. 객체 기반 언어이기 때문입니다. 이러한 객체들은 프로토타입을 통해 메서드와 속성을 상속 받습니다. 객체들의 뼈대가 프로토타입인 셈이지요. 표준 빌트인(String, Regex 등등) 및 호스트 빌트인(fetch 등등) 객체들부터 각종 프레임워크(React, Vue 등등)와 패키지(dayjs, jest 등등)들도 프로토타입 기반 객체로 제공됩니다. 이러한 이유 때문에 내부 동작을 이해하기 위해서 프로토타입에 대한 이해가 선행되는게 도움 된다고 말씀드릴 수 있겠습니다.

JS가 동적 언어일 수 있는 이유입니다

JS는 프로토타입 기반 객체의 속성이나 메서드를 런타임에 동적으로 추가하거나 변경할 수 있습니다. 이러한 동적 특성을 이해하려면 프로토타입에 대한 이해가 있으면 좋습니다.

성능에 민감한 어플리케이션 개발을 할 때 도움 될 수 있어요

객체에서 속성이나 메서드를 찾을 때, 자바스크립트는 해당 객체의 프로토타입, 그리고 그 프로토타입의 프로토타입을 차례로 검색하는 프로토타입 체인을 사용합니다. 프로토타입 체인을 통한 속성 검색은 성능에 영향을 줄 수 있으므로, 이를 이해하고 코드를 작성하면 성능에 도움이 될 수 있습니다.

마치며

프로토타입에 대해 깊이 이해하고 있으면 더 나은 설계 결정을 내리고, 자바스크립트의 기능을 최대한 활용하는 데 도움이 될 거에요.
제 글이 프로토타입 공부에 대한 거리감을 조금이나마 가깝게 해줬기를 바랍니다.

이제 프로토타입 공부를 시작하면 어떨까요?

자바스크립트 프로토타입 공부하기 싫은 사람 모여라