← Back to NOTES 🌰 ← Effective JavaScript 🤿

← 아이템 46 - 순서가 정해진 컬렉션에는 딕셔너리 대신 배열을 사용하라

핵심 요약

Object.prototype에 열거 가능한 프로퍼티를 추가하면 모든 객체의 for...in 루프에서 그 프로퍼티가 나타나서 예상치 못한 동작을 일으킨다. 프로토타입 확장이 필요하다면 Object.defineProperty()를 사용하여 enumerable: false로 설정하거나, 아예 프로토타입 확장을 피하고 별도의 함수나 유틸리티 객체를 사용하라. 프로토타입 오염은 전역적인 영향을 미치므로 특히 주의해야 한다.

자세한 내용

프로토타입 오염의 문제점

Object.defineProperty의 활용

안전한 대안