더북(TheBook)

3.9 정리하기

 

자바스크립트에서 객체를 생성하는 방법을 설명하고, 1장에서 배운 SOLID/DRY 기준과 연관 지어 살펴보았다.

원시형과 객체 리터럴은 사용하기 쉽지만, 코드 중복이 일어나기 쉽다.

모듈 패턴은 이에 관한 확실한 개선책이다. 원시형/객체 리터럴에서는 불가능한, 데이터 캡슐화와 애스팩트 지향 프로그래밍을 동원하여 확장과 단위 테스트를 매끄럽게 한다.

자바스크립트 커뮤니티에는 객체 생성 패턴을 쓰지 말라는 사람들도 있는데, 우리는 이 패턴을 퇴출하자는 의견에 반대한다. 생성자 함수로 초기화 코드를 공유할 수 있는 데다 new를 강제해야 한다면 어렵지 않게 구현할 수 있기 때문이다.

모든 자바스크립트 함수는 prototype 프로퍼티를 통해 객체 인스턴스 간에 코드와 데이터를 효과적으로 공유할 수 있다. 따라서 자바스크립트만의 독특한 프로토타입 상속 메커니즘이 가능하다.

자바/C# 개발 경험이 있는 독자들에게 익숙한 고전적 상속은 자바스크립트에서 프로토타입 상속으로 흉내를 낼 수 있다. 또한, 자바스크립트는 프로토타입 상속 과정에서 야기되는 코드 반복을 없애고 데이터를 감출 수 있는 함수형 상속을 지원한다.

마지막으로 멍키 패칭을 소개한 뒤, 이 기법을 잘 활용하면 한 객체의 기능을 다른 객체로 기증할 수 있다는 사실을 알았다.

2부는 자바스크립트의 주요 프로그래밍 패턴을 테스트 주도 개발 방식으로 구현하는 데 집중하고자 한다. 다음 장은 그 첫 관문으로 패턴에 기반을 둔 코드의 장점을 살펴본다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.