Skip to main content

Command Palette

Search for a command to run...

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

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

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

Software engineer for web tech. Interested in sustainable growth as software engineer.

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

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

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

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

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

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

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

마치며

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

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

More from this blog

프론트엔드는 경계를 다루는 직무가 되어간다

프론트엔드는 원래도 복잡했습니다. 브라우저마다 다른 렌더링, 상태 동기화, 성능, 접근성 — 화면 하나 제대로 만드는 데 신경 쓸 게 늘 많았습니다. 다만 그 복잡함은 대체로 한 방향을 향했습니다. 이 UI를 어떻게 만들까, 상태를 어떻게 관리할까, 클릭하면 무엇이 바뀌어야 할까. 그런데 요즘 질문의 축이 하나 더 늘고 있습니다. 이 UI는 서버에서 먼저

Jul 20, 20266 min read

AI가 코드를 짜는 시대, 나는 리뷰를 못 따라가고 있었다

솔직히 말하면, 요즘 PR을 제때 리뷰하지 못하고 있습니다. 개발 속도는 빨라졌는데 리뷰 속도는 그대로입니다. 예전엔 하루 이틀이면 처리하던 게 이제는 며칠씩 밀립니다. 처음엔 제가 게을러진 탓인가 싶었습니다. 돌아보니 그게 아니었습니다. AI 도구를 쓰면서 코드가 쏟아지는 속도가 달라졌습니다. 한 사람이 만들어내는 코드 양이 예전과 비교가 안 됩니다. P

Mar 18, 20263 min read
AI가 코드를 짜는 시대, 나는 리뷰를 못 따라가고 있었다

테드풀의 한 입 지식

78 posts

가볍게 정리하는 기록들입니다.