처리중입니다. 잠시만 기다려주세요.
TTJ 코딩클래스
정규반 단과 자료실 테크 뉴스 코딩 퀴즈
퀴즈 / JavaScript / 문제

JavaScript Object.hasOwn()이 hasOwnProperty()보다 권장되는 이유는?

어려움 MDN Web Docs
보기 및 정답
A Object.create(null)로 만든 객체에서도 안전하게 동작하며, 프로토타입 체인에 의존하지 않는다
B Object.hasOwn()은 실행 속도가 hasOwnProperty()보다 10배 이상 빠르며 성능 최적화에 유리하다
C Object.hasOwn()은 심볼(Symbol) 키도 검사할 수 있지만 hasOwnProperty()는 문자열 키만 가능하다
D Object.hasOwn()은 비동기적으로 동작하여 이벤트 루프를 차단하지 않고 속성 존재 여부를 확인한다

해설

Object.hasOwn(obj, key)는 ES2022에 추가된 정적 메서드로, obj.hasOwnProperty(key)와 달리 Object.create(null)로 프로토타입 없이 생성된 객체에서도 안전하게 동작합니다. hasOwnProperty가 재정의(override)된 경우의 위험도 없어 더 안전합니다.

코딩, 제대로 배우고 싶다면?

개념 확인은 퀴즈로, 실력은 실전 프로젝트로.
투더제이 코딩클래스에서 시작하세요.

정규반 살펴보기