function 함수이름(매개변수1, 매개변수2,...) {
함수가 호출되었을 때 실행하고자 하는 실행문;
}
함수 이름(function name)은 함수를 구분하는 식별자(identifier)입니다.
입력을 받아서 출력을 내보낼 때, 함수 내부로 전달 받은 변수를 매개변수(parameter), 입력을 인수=인자(argument), 출력을 반환값(return value)라고 한다.
// 함수 선언식
function getRectangleArea(width, height) {
let rectangleArea = width * height;
return rectangleArea;
}
// 함수 표현식
const getRectangleArea = function(width, height) {
let rectangleArea = width * height;
return rectangleArea;
}
// 함수 표현식 - 화살표 함수
const getRectangleArea = (width, height) => {
let rectangleArea = width * height;
return rectangleArea;
}
// 함수 표현식 - 화살표 함수 (생략형)
const getRectangleArea = (width, height) => width * height;
return 명령문은 함수 실행을 종료하고, 주어진 값을 함수 호출 지점으로 반환합니다.
추가적으로 알아야 할 부분은 return문 반환 값을 전달하는 기능과 더불어 함수 자체를 종료하는 기능도 있다는 것이다.
즉, 함수 안에서 값을 콘솔로 보내는것이 아니라 return을 통해 함수를 호출한 녀석에게 다시 주어서 그걸 갖고 또 다른 함수를 호출하는데 쓴다(연산결과 자체가 변수에게 주어진다)...
return문이 작성되면 return문 아래의 선언들은 모두 무시된다.
function sayMyBestSong() {
console.log('제가 가장 좋아하는 노래는 비의 La Song 입니다.');
return;
console.log('La Song하니까 생각이 나는건데, 제가 미국 LA에 있을 때...');
}
sayMyBestSong(); // 제가 가장 좋아하는 노래는 비의 La Song 입니다.
위 코드에서 알 수 있듯이, return 아래의 TMI 코드는 무시된다.
그렇기 때문에 상황에 따라 return문은 그냥 함수를 종료할 목적으로 활용하기도 하고,
당연히 목적에 따라서 함수 본문 내에서 여러 개의 return문이 등장하기도 한다.
function checkAge(age) {
if (age > 19) {
return '성인입니다.'
} else {
return '미성년자입니다.'
}
}
console.log(checkAge(345)); // 성인입니다.
const calculator = {
add: function (a, b) {
console.log(a + b) // 5 값반환
}
}
const plusResult = calculator.pluse(2,3);
console.log(plusResult) // undefined
return을 시켜줘야 함수 밖에서도 사용이 가능해짐
const calculator = {
add: function (a, b) {
console.log("hello"); // hello 출력
return a + b;
console.log("bye bye"); // 콘솔창에 출력되지 않음
}
}