시스템아 미안해
Chapter 4 - Item 31. Object.getPrototypeOf를 __proto__ 대신 사용하라 본문
책/Effective JavaScript
Chapter 4 - Item 31. Object.getPrototypeOf를 __proto__ 대신 사용하라
if else 2025. 8. 10. 18:53
객체의 프로토타입을 읽거나 바꾸는 데 __proto__를 쓰는 것은 비표준 방식이었고,
오래된 브라우저 호환을 위한 임시 수단이었다.
표준적이고 안전한 방법은 다음과 같다.
- 프로토타입 읽기: Object.getPrototypeOf(obj)
- 프로토타입 변경: Object.setPrototypeOf(obj, newProto)
- 새 객체 생성 시 지정: Object.create(proto)
예시)
// 안전한 프로토타입 접근
const proto = Object.getPrototypeOf(someObj);
// 안전한 프로토타입 변경
Object.setPrototypeOf(someObj, anotherProto);
// 프로토타입을 지정하며 새 객체 만들기
const obj = Object.create(proto);
ES6이후, __proto__가 표준에 포함되긴 했지만, 여전히 성능과 유지보수 면에서 권장되지 않는다.
'책 > Effective JavaScript' 카테고리의 다른 글
| Chapter 4 - Item 33. 생성자를 new에 의존하지 않게 만들기 (0) | 2025.08.10 |
|---|---|
| Chapter 4 - Item 32. __proto__를 절대 수정하지 말라 (2) | 2025.08.10 |
| Chapter 4 - Item 30. prototype, getPrototypeOf, __proto__ 차이를 이해하라 (1) | 2025.08.10 |
| Chapter 3 - Item 29. 비표준 스택 검사 속성 사용을 피하라 (1) | 2025.08.10 |
| Chapter 3 - Item 28. 함수의 toString() 결과에 의존하지 말라 (1) | 2025.08.10 |