[섹션3 훈훈한 Javascript] 함수 스코프, 블록 스코프 강의 질문
185
작성한 질문수 1
강의 4:50 정도에 아래 코드에서 x를 콘솔에 출력하면 undefined가 발생한다고 하셨는데 이해가 안가서 질문드립니다.
const sum = function(){
var x = 0;
}
console.log(x);
var로 선언된 x는 콘솔이 찍히는 부분인 현재 스코프에서 사용할 수 없는 상태이므로 undefined가 아니라 referenceError가 나는거 아닌가요?
답변 1
0
안녕하세요, 인프런 AI 인턴입니다.
김예원님의 질문에 답변드립니다.
말씀해주신 코드에서 var x는 sum 함수 내부에서 선언되었기 때문에 해당 함수 스코프 내에서만 접근 가능합니다. 따라서 함수 스코프 바깥에서 console.log(x);를 호출하면, x가 해당 스코프에 선언되지 않았으므로 ReferenceError가 발생합니다.
undefined가 출력되려면 x가 현재 스코프에서 선언되었으나 값이 할당되지 않은 경우에 해당하는데, 제시한 코드의 상황은 그렇지 않습니다.
즉, “undefined”가 아니라 “ReferenceError: x is not defined” 오류가 정상적인 반응입니다.
해당 강의 내용에서 혼동이 있었던 것 같습니다. 추가적으로 궁금한 점이 있으시면 해당 강의의 질문하기 섹션을 통해 강사님께 직접 문의하시는 것도 좋은 방법입니다.
fetchBoardsOfMine, fetchBoardsCountOfMine 에러 문의드립니다
0
36
1
댓글 기능 구현 중 질문드립니다.
0
66
1
쿠폰코드 발급
0
132
2
example 서버 플레이그라운드, API 접속 모두 안됩니다.
0
86
2
문의드립니다!! ㅠㅠ
0
101
2
graphql 백엔드 서버가 포폴용 빼곤 접속이 안됩니다.
0
76
2
_app.js 작성 이후로 에러가 발생하네요
0
93
2
학습자료
0
70
2
학습자료가 안열립니다.
0
49
2
플레이 그라운드 퀴즈 문제 질문이 있습니다.
0
59
0
기존강의 구매자, 업데이트 끝인가요?
0
109
3
업데이트 버전 수강
0
88
2
완벽한 프론트엔드
0
136
2
나만의 쇼핑몰 샘플 페이지 접속 확인부탁드립니다.
0
81
1
graphql 접속이 안됩니다.
0
100
2
const, let 사용 질문 드립니다.
0
70
2
싸이월드 만들기 1탄 피드백 부탁드립니다.
0
122
2
회원가입 과제 피드백 부탁드립니다.
0
80
2
styled.span / styled.input "CSS 자동완성"
0
47
1
쿠폰 발급 관련
0
166
2
서버 502 error
0
247
2
쿠폰 다시 부탁드려도 될가여?
0
140
2
a태그 패딩했을때 왜 크기가 줄어들지 않고 늘어나나요
0
183
2
2분 44초 질문
0
131
3





