더북(TheBook)

‘나쁜 일’이 벌어질 가능성

자바스크립트 언어는 Marsupial 함수를 생성자 함수(new 키워드와 함께 사용하려고 작성한 함수)로 사용하라고 강요하지 않는다. 즉, new 키워드 없이 생성자 함수를 사용해도 이를 못하게 막을 보호 체계가 없다. 그래서 더러 개발자들은 파스칼 표기법(PascalCase)으로 생성자 함수를 따로 표기하여 구분하기도 한다.

더글라스 크락포드 같은 사람은 생성자 함수 호출 시 new를 빠뜨리면 ‘나쁜 일’이 생길 수 있으니 아예 생성자 함수를 쓰지 말라고 권한다(《자바스크립트 핵심 가이드(한빛미디어, 2008)》 참고).

하지만 생성자 함수는 초기화 코드를 공유할 때 유용하고 new가 꼭 필요하다면 체크할 방법이 없는 것도 아니니 섣불리 생성자 함수에 퇴장을 명하고 싶지 않다.

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