JavaScript 클래스 문법은 어떻게 쓰는 것일까? #15
gabrielyoon7
started this conversation in
4. 잡담
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
아래 링크는 개인 블로그에 작성한 글입니다. 클래스를 어떻게 쓰는지 정리한 글이에요.
JavaScript 클래스 문법은 어떻게 쓰는 것일까?
클래스에 대해서 알고 계실 수도 있지만, 참고하면 좋을 것 같아요.
자바스크립트를 사용하면서 클래스를 사용하지 않아도 개발하는데 어려움이 없다는 점 때문에 필요성을 잘 느끼지 못하는 사람들이 많을 것으로 생각되지만..
특정 기능을 구현할 때에는 도움이 될 때도 있답니다.
자바스크립트의 프로토타입을 잘 모르신다면 이 문서를 먼저 참고하시는 것이 좋을 수도 있습니다.
제 개인적인 경험으로는 과거에 학과 홈페이지에 졸업요건진단시스템 (로그인 필요)을 구현하면서 한 jsp파일 안의 script 태그에 jquery 문법을 다 몰아넣은 적이 있었는데, map, filter, reduce 같은 고차 함수를 잘 쓰지 못하는 것은 물론이고 모듈화도 할 줄 몰라서 코드가 굉장히 복잡해진 적이 있었습니다.
객체를 쓰긴 하는데, 단순히 json을 객체 리터럴로 파싱해 놓은 형태라서 진정한 객체를 사용했는지는 의문이었던 나날이었는데요, 그런 경험
삽질을 1년 정도 해보니깐 유지 보수가 어렵겠다는 생각이 들었던 적이 있습니다.제가 만약에 그 때 당시에 클래스를 알았더라면
프로토타입 따위는 모르는 상태로 진행했겠지만스트레스를 덜 받으면서 복잡한 기능들을 척척 구현할 수 있었을텐데 말이죠.최근 여러분이 어떤 기능을 구현하고 있는지 대충 듣기만 하고 코드를 제대로 살펴본 것은 아니라서 자세한 것은 모릅니다.
하지만 여러분이 실력이 좋다는 사실을 건너 들었습니다.
아무리 실력이 좋아도 swaig 프로젝트에서 사용한 기술 특성 상, JS의 일반적인 기능으로는 프론트엔드에서 화려한 기능을 구현하기란 쉽지 않을 것입니다.
게다가 그간 구현되어있던 코드들이 고급 기술이 아니라서 굉장히 당황스러울 수도 있습니다.
그렇다고 프로토타입 기능을 사용하자니 너무 고급 기능을 쓰게 되는 꼴이므로, 다음 기수에게 인수인계 단계로 넘어갈 때 로스트 테크놀로지가 되어버릴 가능성이 있습니다.
자바스크립트의 클래스는 기존의 생성자 함수와 프로토타입을 적절하게 활용하는 문법에 불과합니다.
기존에 존재하지 않던 새로운 방식으로 객체를 생성하지 않습니다.
단순히 새로운 표현법을 통해서 기존의 기술을 보완하는 방식으로 동작합니다.
이런 특성 때문에 클래스가 문법적 설탕이라는 표현이 MDN문서에서 등장하기도 합니다.
따라서 여러분이 이 기능을 프로젝트 도중에 활용한다고 해서 기존에 작성한 구조를 갈아 엎어야 하는 일은 없을 것입니다.
혹시 스터디를 진행하고 계신다면 클래스 문법에 대해서 파헤쳐보고 연습삼아 기능 구현에 활용해보는건 어떨까요?
Beta Was this translation helpful? Give feedback.
All reactions