#2.11 Returns - #2.12 Recap

오주형·2022년 3월 29일
0

#2.11 Returns (반환문. Deep Dive/12.5.4 반환문/page 173)
그동안 function 밖에서 값을 얻었다면, 이제 function에서 답을 얻고자 함. 코드 안에서! function이 계산의 결과를 코드 상에서(코드 안에서) 알려주는 것을 원함.
이제 function이 단순히 어떤 기능을 수행하는 것이라고 생각하기 보다는, function은 어떤 일을 수행하고 그 결과를 알려 주는 것으로 생각해보자!
console에서의 결과나 alert 경고문에서의 결과를 원하는 것이 아니라, 나의 코드 (자체)에서 결과를 원할 수 있다.
이제는 'console에 출력하기 위해서' function을 사용하지 않는다. 대신 "어떤 작업을 처리하고, 그 결과를 return 하기 위해" function을 사용한다. 이것이 function이 function의 밖과 소통하는 방법이다.
가끔은 function을 쓸 때 그냥 조용히 작업시키고 결과는 필요없는 경우도 있다. 반면 어떨 때는 어느 작업을 하고 그 작업의 결과를 알려주는 function을 원하기도 할 것이다. 그 기능을 return이 수행! 다시 말해서 무언가를 return 하면 계산을 담당하는 function의 코드는 그 function이 return하는 값과 같아질 것이다.

function 내부에서 console.log하는 것과는 큰 차이가 있다. functio의 외부에서 값을 얻은 뒤에 그 값으로 내가 원하는 모든 것을 할 수 있다!

// Deep Dive
함수는 return 키워드와 표현식(반환값)으로 이뤄진 반환문을 사용해 실행 결과를 함수 외부로 반환(return)할 수 있다.
반환문은 두 가지 역할을 한다.
첫째, 반환문은 함수의 실행을 중단하고 함수 몸체를 빠져나간다. 따라서 반환문 이후에 다른 문(statement)이 존재하면 그 문은 실행되지 않고 무시된다.(return 다음에 console.log 있으면 console.log 실행되지 않음! 반대는 성립)
둘째, 반환문은 return 키워드 뒤에 오는 표현식을 평가해 반환한다. return 키워드 뒤에 반환값으로 사용할 표현식을 명시적으로 지정하지 않으면 undefined가 반환된다.(return 뒤에 아무 것도 쓰지 않으면 undefined가 반환된다는 뜻!)
반환문은 생략할 수 있다. 이때 함수는 몸체의 마지막 문까지 실행한 후 암묵적으로 undefined를 반환한다. 또한 반환문은 함수 몸체 내부에서만 사용할 수 있다. 전역에서 반환문을 사용하면 문법에러가 발생한다. //

#2.12 Recap.
return 실행되고 나면 함수 종료.

➡️ bye bye는 실행되지 않음.

console.log는 결과를 눈으로 보기 위해서.
function 외부에서 value를 제공받기 위해서는 return 사용. (ex. 날씨 정보를 구한 다음 그 값을 console에 출력하는 것이 아니라, 화면에 출력하기 위해 return 사용!)

return 어려우니까 대체하기(replacing) 사용해보자~!

return을 하고 나면 function은 계속 남아 있는 것이 아니다. 실행되고 난 후에는 사라지고, 마지막엔 결과를 남긴다.

profile
곧 개발자

0개의 댓글