특정한 목적의 작업을 수행하기 위한 블록
함수도 하나의 타입이다. 함수는 입력과 출력값이 존재하고 항상 출력값을 반환한다.
을 사용하여 함수안에서 탈출해야한다.
return을 선언하지 않은경우는 undefiend
function GetBmi(height,Weight){
let bmi = (height * Weight) / 2;
return bmi
}
const GetBmi = function(height,Weight){
let bmi = (height * Weight) / 2;
reuturn bmi
}
const getbmi 가 선언 = 부터 할당.
GetBmi = (height,Weight) => {
let bmi = (height * Weight) / 2;
return bmi
};
본문(body)에 retun문만 있을경우 return과 {}중괄호는 생략 할수있다
conststyle="color:skyblue">GetBmi(height,Weight) => height * Weight / 2; // O, 정상작동
const GetBmi = (height,Weight) => { height * Weight / 2 } X , undefined 리턴
return 문에서 소괄호를 사용할수 있다.
const GetBmi = (height,Weight) => (height * Weight / 2) // O, 정상작동
함수내 표현식이 2줄 이상일때 중괄호와 return은 쓰는것이 좋음
const getStudentAvg = arr => {
return arr
.filter(person => person.job === 'student'
.reduce((sum, person) => (sum + person.grade), 0)
}
keyword : function
name : 함수이름 function name <-
parameter : 매개변수 function name(매개변수)
body : 중괄호 안에 명령 function name(매개변수){body}
function getBmi(height,Weight)
매개변수1(parameter): height
매개변수2 : Weight
getBmi(65,175)
전달인자(argument) : 65, 175
인수(Argument)는 함수를 호출할 때 건네주는 변수입니다.
인자(Parameter)는 함수에서 정의되어 함수 내부에서 사용되는 변수입니다. 인자같은 경우는 매개변수, 파라미터라는 이름으로 많이 불리기도 합니다.