JavaScript - 문제 미리보기

문제 638

easy
다음 두 메서드의 차이점으로 올바른 것은? ```javascript const person = { firstName: "John", lastName: "Doe", language: "EN" }; Object.defineProperty(person, "language", {enumerable: false}); const result1 = Object.getOwnPropertyNames(person); const result2 = Object.keys(person); ```
A. 두 메서드 모두 동일한 결과를 반환한다
B. `getOwnPropertyNames()`는 모든 속성을, `keys()`는 열거 가능한 속성만 반환한다
C. `keys()`는 모든 속성을, `getOwnPropertyNames()`는 열거 가능한 속성만 반환한다
D. 두 메서드 모두 열거 불가능한 속성만 반환한다

정답: B

1) `Object.getOwnPropertyNames()`는 열거 가능 여부에 관계없이 객체의 모든 속성을 반환합니다. 2) `Object.keys()`는 오직 열거 가능한(enumerable: true) 속성만 반환합니다. 3) 예시에서 `language` 속성이 `enumerable: false`로 설정되었으므로, `getOwnPropertyNames()`에는 포함되지만 `keys()`에는 포함되지 않습니다.

💡 학습 팁

이 문제를 포함한 JavaScript 과목의 모든 문제를 순차적으로 풀어보세요. 진행상황이 자동으로 저장되어 언제든지 이어서 학습할 수 있습니다.