[Javascript] 반환 값 (return value)

gimmari·2024년 7월 24일
1

📚Javascript

목록 보기
13/15

생성자와 new 키워드를 알아보다

  1. 함수에 new를 붙이면 리턴값은 객체 반환한다.(.을 붙혀서 key 값을 적용하면 :value 값 알 수 있음)

'객체반환'의 의미에 대해 찾아보았다. 리턴값은 객체 반환된다는 의미가 뭘까...?
new 뒤에 Person이라고 하는 생성자가 만들어놓은 빈 객체가 어떠한 프로퍼티와 메소드를 가져야하는지를 생성자 안에 기술하므로써 ('조은길') 그 객체가 할 수 있는 일을 세팅해주는 데, 이것을 초기화 라고 한다.


함수는 여러 가지 복잡한 동작들을 미리 정의하고 필요할 때 언제든 쉽게 사용할 수 있게 하는 것이 기본이지만, 함수를 호출한 지점에 함수를 호출한 결과로 어떤 특정한 값이 대체되게 할 수도 있다.

이때 이 값을 반환 값 또는 리턴 값(return value)이라고 부른다.

반환 값은 함수 내에서 return이라는 선언자를 활용한다.
그리고 이를 활용해 return값을 연산하는 문장을 return문이라고 부른다.

return문은 함수 내부에서 정해진 명령들을 실행하고 난 뒤에 다시 돌려준다 혹은 반환한다 라는 의미로 이해하면 된다. 예시 코드를 보면,

function addNumber(num1, num2) {
  let sumNum = num1 + num2
}

let sumNum = 0
addNumber(2, 7)

console.log(sumNum); // 0

위 코드는 addNumber라는 함수에서 sumNum에 파라미터로 들어온 두 개의 합을 넣어주는 식이다. 그러나 sumNum라는 변수 선언, addNumber 함수 선언 그리고 출력을 했지만, 변수의 값은 0이 나온다.

이유는 매개변수는 함수 내부에서만 작동을 하고 함수 외부로 나가면 사라지는 특성 때문인데, 위 코드의 함수 내부에서의 sumNum과 외부에서의 sumNum은 전혀 상관이 없는 사이라는 뜻이다.

이때 함수 내부에서 일어난 일을 외부로 보내주는 것을 return 문이 한다.

return 문을 활용하여 위 코드를 바꿔보면 아래와 같다.

function addNumber(num1, num2) {
  return num1 + num2
}

console.log(addNumber(2,7)) // 9

return 문을 통해 num1과 num2를 더해준 값이 함수 밖으로 나오게 되고, console.log에서 그 값을 출력해준다. 즉, return문은 어떤 값을 되돌려주는 output의 역할을 한다. (함수 호출 부분을 return문 뒤에 오는 값으로 대체한다.)

이렇게 return 문은 함수 내부에서 함수 외부로 값을 보내줄 때 꼭 써줘야 한다!

return을 작성하지 않아도 함수는 정상적으로 동작한다.

function getArtist() {
    return 'IU';
}

console.log(getArtist()); // IU

당연히 return을 따로 작성하지 않은 함수의 기본 반환 값은 undefined다.

function getArtist() {
    // ..return문이 없는 함수본문..
}

console.log(getArtist()); // undefined
profile
김마리의 개발.로그

0개의 댓글