GitHub을 기준으로 보면 자주 사용되는 패턴 같습니다. private 접근자를 통해 속성에 접근을 제한하고 공개 속성만 제공하여 코드의 재사용성을 크게 높이려는 것으로 보입니다. 현대의 모던 웹 브라우저들은 원하는 스펙을 사용하는데 큰 무리가 없어 보입니다. 또한 프로덕션 단계에서는 다양한 컴파일러, 라이브러리, 프레임워크를 도입하고 활용합니다. 클래스뿐만 아니라 다른 방식으로도 private 구현또한 가능합니다 (모듈 패턴 등)
코드간에 다른 분들과 함께 사용하려면 코드 유지보수는 필연적으로 발생하게 됩니다.
범용적으로 사용될 코드를 작성할 때는 실질적으로 개발자가 해당 코드를 읽고 개선하거나 사용하기 때문에 개발자 친화적인 코드를 작성한다면 다른 개발자가 직접 코드를 사용할 가능성을 크게 높일 것으로 예상됩니다. (소중한 시간을 들여서 만들었는데 사용하지 않으면 아쉬우니까요) 예를 들어 JSDoc를 활용하여 메서드의 문맥을 파악할 수 있고, 함수명과 변수명을 명확하게 작성하며, 코드를 불변성으로 유지하고 암묵적인 입력과 출력을 제거하는 등의 방법이 있습니다.