JavaScript - 문제 미리보기

문제 172

hard
다음 코드의 실행 결과는? ```javascript let x = new String("John"); let y = new String("John"); console.log(x == y); // 결과1 console.log(x === y); // 결과2 ```
A. 결과1: true, 결과2: true
B. 결과1: true, 결과2: false
C. 결과1: false, 결과2: true
D. 결과1: false, 결과2: false

정답: D

두 변수 모두 String 객체입니다. JavaScript에서 객체는 참조로 비교되는데, `x`와 `y`는 내용이 같더라도 서로 다른 객체입니다. 즉, 메모리상 다른 위치에 저장된 별개의 객체이므로 `==`와 `===` 모두 false를 반환합니다. 이는 JavaScript 객체의 기본적인 비교 방식으로, 두 객체가 정확히 같은 참조를 가질 때만 true가 됩니다. 이것이 문자열을 객체로 만들지 말아야 하는 또 다른 이유입니다.

💡 학습 팁

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