keyword
, name
, parameter
, body
에 대해 이해할 수 있다.함수는 입력에 따라 논리적인 일련의 작업을 하는 하나의 단위입니다.
function mulTablePrinter(num){
console.log(num*2);
consoel.log(num*3);
}
여기서 함수 선언을 위해 필요한 것들에 대해서 살펴보겠습니다.
1. keyword :function
2. name : mulTablePrinter
3. parameter : (num)
4. body : {console.log(num*2; console.log(num*3);)}
function cal(param1, param2){
console.log(param1 + param2);
return prarm1 * 10;
}
cal(10, 20)
함수는 어떤 목적을 가진 작업들을 수행하는 코드들이 모인 블록입니다.
조금 더 좁게 이야기 하자면, 함수는 입력(input)을 받아 출력(output)을 하는 하나의 작은 기능 단위입니다.
function getTriangleArea(base, height){
let triangleArea = (base*height)/2;
return triangleArea
}
console.log(getTriangleArea(2,4)) // 4
// 함수 내부에서 return을 한 경우 -> 출력값이 return 문의 값
function getTriangleArea(base, height){
let triangleArea = (base*height)/2;
}
console.log(getTriangleArea(2,4)) // undefined
// 함수 내부에서 return을 하지 않은 경우 -> 출력값이 undefined
function getTriangleArea(base, height){
let triangleArea = (base*height)/2;
return triangleArea
}
const getTriangleArea = function (base, height) {
let triangleArea = (base*height)/2;
return triangleArea
}
const getTriangleArea = (base, height) => {
let triangleArea = (base*height)/2;
return triangleArea
}
화살표 함수는 화살표(=>
) 우측의 표현식(expression)을 평가하고, 평가 결과를 반환합니다.
만약 함수의 본문(body)에 return문만 있는 경우,
return과 { }중괄호(curly bracket)를 생략할 수 있습니다.
또한 return문에서 소괄호를 사용할 수 있습니다.
const getTriangleArea = (base, height) => base*height /2;
// O, 정상 작동
const getTriangleArea = (base, height) => {base*height /2}; // X, undefined 리턴
const getTriangleArea = (base, height) => (base*height /2); // O, 정상 작동
만약 함수 내의 표현식이 2줄 이상인 경우, return과 { }중괄호(curly brace)를 명시적으로 쓰는 것이 좋습니다.
const getTriangleArea = (base, height) => {
let triangleArea = (base*height)/2;
return triangleArea
}
getTriangleArea(3,4)
이때, 함수 선언문의 (base, height) 부분을 매개변수 혹은 인자(parameter)라고 합니다. parameter는 함수를 실행할때 입력에 따라서 바뀔 수 있는 변수지만 let
등의 키워드를 쓰지 않고 사용할 수 있습니다.
또한 함수 호출문의 (3, 4) 부분을 전달인자 혹은 인수(argument)라고 합니다. argument는 함수를 호출할때 매개변수에 할당되는 값을 말합니다.