인프런 커뮤니티 질문&답변
this는 전역 객체를 가리킨다?
작성
·
247
0
안녕하세요. this는 전역 객체를 가리키는 게 맞는데 왜 console.log(this)를 하면 undefined가 나올까요?? console.log를 console이라는 객체에서 log라는 메서드를 호출하여 여기서 this는 console이라는 객체를 가리키기 때문일까요?? 그래도 console이라는 객체의 정보가 나와야할 것 같은데 undefined가 나와서 헷갈리는 것 같습니다.
퀴즈
자바스크립트에서 원시 타입과 참조 타입의 메모리 저장 방식/수정 시 주요 차이점은 무엇일까요?
원시 타입은 힙, 참조 타입은 스택에 저장됩니다.
원시 타입 수정 시 새 메모리 공간을 사용하지만, 참조 타입은 기존 공간 값을 변경합니다.
원시 타입은 변경 불가능하지만, 참조 타입은 변경 가능합니다.
원시 타입은 값 자체가 저장되고, 참조 타입은 값이 저장된 메모리 주소를 저장합니다.
답변 1
1
캡쳐해주신 내용을 보아하니 this가 출력이 안되는게 문제가 아니라
console.log 함수 자체가 아무런 결과를 출력하지 않고 있는게 문제로 보입니다.
콘솔에서 어떤 명령시 마지막줄에 나타나는 undefined는 실행결과(return값)입니다.
console.log에 의한 '출력물'이 아닙니다.
브라우저 콘솔은 현재 접속중인 웹페이지의 영향을 받습니다.
url에 about:blank 을 입력하여 빈페이지로 이동하시고,
새로고침한 뒤 다시 실행해 보세요.
그래도 여전히 console.log가 값을 출력하지 않는다면
브라우저를 삭제/재설치하시는게 좋을것 같네요.






앗 넵 그렇네요! console.log(this)를 하니 console.log의 출력물과 return값인 undefined가 모두 출력이 되네요 감사합니다!