객체 동결, 객체 밀봉 아는 개발자분들은 안 보셔도 됩니다
Object.freeze
는 객체를 완전 동결시켜 수정을 불가능하게 만들어, 서버 설정과 같이 변경되어서는 안 되는 값을 보호하는 데 유용합니다. 🧊
Object.seal
은 객체의 확장을 막아 새로운 속성 추가를 금지하지만, 기존 속성 값의 변경은 허용하여 라이브러리나 모듈 개발 시 의도치 않은 재선언을 방지합니다. 🛡️
- 라이브러리나 모듈 개발 시
freeze
나 seal
을 사용하여 객체를 보호하는 것은 좋은 패턴이며, 대규모 프로젝트에서 발생할 수 있는 휴먼 에러를 줄이는 데 도움이 됩니다. 🛠️
- 단방향 데이터 흐름을 구현할 때,
freeze
를 사용하여 데이터의 불변성을 유지하고, 제한된 Setter를 통해서만 데이터 접근 및 변경을 허용하는 것이 중요합니다. ➡️
- 과거에는 프로토타입 상속을 통해 객체를 확장하고 커스터마이징하는 방식이 흔했으며, 확장이 완료된 후
freeze
나 seal
을 적용하여 객체를 보호했습니다. 🧬