모든 함수는 반환(return)을 한다. 함수는 항상 데이터를 반환하기 때문에 그 결과를 변수에 저장 할 수도 있고, 다른 로직에 다시 사용할 수도 있다.
함수의 반환 값을 확인하는 방법은 아래와 같이 함수를 호출해서, 변수에 저장하고 그 변수를 console.log()
로 확인하면 된다.
let result4 = noParameter();
// result4f라는 변수에 noParameter 함수 호출한 결과값을 할당
console.log(result4);
위와 같이 함수를 호출해서 반환한 값을 다시 변수에 저장해서 확인할 수도 있지만, 아래와 같이 함수를 호출한 것을 바로 console.log()로 확인할 수도 있다.
console.log(noParameter());
덧붙이자면, 모든 함수가 return
을 포함해야 하는 건 아니다. 함수 내부에 return
키워드를 생략할 수도 있다. 하지만 이 경우에도 함수는 무언가를 반환하고 있다. 함수가 반환을 생략하면 undefined
라는 값을 반환한다.
위에서는 return
키워드를 통해 함수를 호출할 때 데이터를 반환하는 법을 배웠다. 이제는 함수가 외부에서 입력 받은 데이터를 처리하는 경우에 대해 배워보다.
함수는 어떻게 외부의 값을 받을까? 아래 getName
함수를 보면
function getName(name) {
return name + '님';
}
정의된 함수의 소괄호 내부에 name
이라는 단어가 들어 있다. 이처럼 함수 이름 옆 소괄호 자리에 적혀 있는 단어는 매개변수(parameter) 라고 부른다.
매개변수는 외부로부터 들어오는 겂을 담아 함수 내부에서 사용하도록 하는 변수의 역할을 한다.
함수 외부로부터 들오온 값이 담길 '자리'혹은 '변수이름'으로 이해하면 쉽다.
함수는 입력받은 정보에 따라 다르게 실행되도록 만들 수 있다. 또한 입력받은 정보를 가공해서 반환하도록 만들 수도 있다. getName
함수를 호출해보면
const result1 = getName('개발자');
const result2 = getName('디자이너');
const result3 = getName('기획자');
console.log(result1)//개발자님
console.log(result2)//디자이너님
console.log(result3)//기획자님
위와 같이 개발자
라는 값을 보내서 호출할 수 있고, 디자이너
,기획자
등 도 다른 값을 넣을 수도 있다. 이와 같은 실질적인 값을 인자(argument)라고 한다.
앞서 매개변수(parameter)는 '자리' 혹은 '변수의 이름'이라고 했다. 반면, 인자(argument)는 그 자리에 들어갈 구체적인 값을 뜻한다.