function printNum(x) {
console.log(x * x);
}
function getNum(x) {
return x * x;
}
printNum(3) // 9 라는 값을 콘솔에 뿌려줌
getNum(3) // 9 라고 계산된값을 return받기만 하고 함수종료 (콘솔에는 아무것도 안나옴)
console.log(getNum(3)) // 9로 계산된 값을 return받아서 콘솔에 9 라고 뿌려줌
console.log(printNum(3))
// 9 와 undefined 두 줄로 나온다
// 9는 printNum(3)의 값,
// undefined는 console.log(printNum(3))의 리턴값을 출력한 값임
// 함수 내부에 return문이 없어서 return되돌려받은 값이 없기때문에 undefined로 나옴
return = 어떤 결과를 함수 밖으로 돌려줌
console.log = 함수 내에서 나온 결과를 밖으로 되돌려주지 않고 콘솔에 출력까지만 하고 끝남
으로 이해했다
4번째껀 왜 두 줄로 나오는지 다시 생각해보니
9는
function printNum(x) {
console.log(x * x);
}
에서 콘솔에 찍으라고 한 두번째줄 명령이 실행된거고
undefined는
함수 바깥으로 리턴해주라고 한 값이 아예 없기때문에 undefined