
모든 함수는 결과를 반환(return) 할 수 있습니다. 함수가 반환한 결과를 변수에 저장할 수도 있고, 다른 로직에 다시 사용할 수도 있습니다. 함수의 반환 값을 확인하는 법은 아래와 같이 함수를 호출해서, 반환값을console.log() 로 확인하면 됩니다.
console.log(noParameter());
함수의 반환값을 아래처럼 변수에 저장해서 활용할 수도 있습니다.
const result1 = noParameter();
console.log(result1);
덧붙이자면, 모든 함수가 return을 포함해야 하는 건 아닙니다. 함수 내부에 return 키워드를 생략할 수도 있습니다. 하지만 이 경우에도 함수는 무언가를 반환하고 있습니다. 함수가 반환을 생략하면 undefined 라는 값을 반환합니다.
위에서는 return 키워드를 통해 함수를 호출할 때 데이터를 반환하는 법을 배웠습니다.
이제는 함수가 외부에서 입력 받은 데이터를 처리하는 경우에 대해 배워보겠습니다.
함수는 어떻게 외부의 값을 받을까요? 정의된 함수의 소괄호 내부에 name 이라는 단어가 들어 있습니다. 이처럼 함수 이름 옆 소괄호 자리에 적혀 있는 단어는 매개변수(parameter)라고 부릅니다.
function getName(name) { // name이라는 변수에 getName 함수 호출한 결과값을 할당하는 행동을 의미함(?)
return name + '님';
}
매개변수는 외부로부터 들어오는 값을 담아 함수 내부에서 사용하도록 하는 변수의 역할을 합니다. 당장 잘 이해되지 않는다면 일단 함수 외부로부터 들어온 값이 담길 '자리' 혹은 '변수의 이름' 으로 기억해주세요!
함수는 입력받은 정보에 따라 다르게 실행되도록 만들 수 있습니다. 또한 입력받은 정보를 가공해서 반환하도록 만들 수도 있습니다. getName 함수를 한번 호출해보겠습니다.
함수의 파라미터 자리에 "이름"을 넣어 주세요. 이제 이 값("이름")은 함수 내의 name 이라는 변수에 전달되고, "님" 이라는 문자열이 붙어 반환 됩니다.
function getName(name) {
return name + '님';
}
const result1 = getName('김코딩');
console.log(result1); // 김코딩님
콘솔에 '김코딩님'이 출력되겠죠.
한 번 만든 함수는 여러 번 호출할 수 있습니다. 반환값을 변수에 저장해 두면 매번 확인할 수 있습니다.
const result2 = getName('개발자');
console.log(result2); // 개발자님
const result3 = getName('디자이너');
console.log(result3); // 디자이너님
const result4 = getName('기획자');
console.log(result4); // 기획자님
위와 같이 '개발자'라는 값을 보내서 호출할 수 있고, '디자이너', '기획자' 등 또다른 값을 넣을 수도 있습니다. '개발자'와 같은 실질적인 값을 인자(argument) 라고 합니다.
앞서 매개변수(parameter)는 '자리' 혹은 '변수의 이름'이라고 말씀드렸습니다. 반면, 인자(argument)는 그 자리에 들어갈 구체적인 값을 뜻합니다. 이 두 종류의 값을 잘 구분해주세요.
출처 : wecode