인프런 커뮤니티 질문&답변

김민희님의 프로필 이미지
김민희

작성한 질문수

[코드캠프] 훈훈한 Javascript

동기와 비동기, undefined 질문입니다.

해결된 질문

작성

·

249

0

안녕하세요. 섹션 8 데이터 통신에서 동기와 비동기 실습을 하며 모르는 것이 있어 질문드립니다.

setTimeout(() => {
	console.log("setTimeout call")
})

const func3 = function() {
	console.log("func3 call")
}

const func2 = function() {
	func3()
	console.log("func2 call")
}

const func1 = function() {
	func2()
	console.log("func1 call")
}

func1()

이 코드를 실행하였는데 console 창에 setTimeout call 위에 undefined가 뜬게 이해가 안갑니다. 어느 부분을 실행하였을 때 나온 undefined인지 설명 부탁드립니다!

답변 1

0

안녕하세요 김민희님!

위와 같은 코드를 console 탭에서 입력했을 때, 화면에 보여지는 undefined는 우리가 호출한 함수의 반환값이 출력된 것입니다!

우리가 실행한 func1 함수가 아무런 데이터도 return 해주지 않기 때문에 호출 이후에 반환된 데이터가 없어 undefined가 출력되는 것입니다.

setTimeout() 함수의 출력 값 이후에 undefined가 출력되지 않는 이유에 대해서는 call stackcallback queue에 대해서 조금 더 깊게 학습해 보시면 이해에 도움이 되리라 생각됩니다!

감사합니다 :)

김민희님의 프로필 이미지
김민희

작성한 질문수

질문하기