퀴즈 / 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)된 경우의 위험도 없어 더 안전합니다.

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

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

정규반 살펴보기
START THE LOOP · CHOOSE

시장과 사람의 답을 봤다면,
다음 결과물의 구조를 고릅니다.

한 번의 결과에 기대지 않고 다시 만들 수 있도록, 문제 발견부터 제작·배포·수익화까지 이어지는 전체 흐름을 익혀보세요.

TTJ CLASS에서 다음 구조 고르기
처리 중...