함수를 선언하는 방법은 함수 선언식, 함수표현식으로 나뉘며 함수표현식의 단축 형인 화살표현식이 있다.
함수표현식은 익명함수라고 불리는데, 익명함수는 함수를 재사용하지 않을 목적으로 함수에 이름을 붙이지 않는 것을 뜻한다.
function 함수명(매개변수) { 코드블록 }
function num1(a,b) {
let result = a + b
return result // 세미콜론 사용 X
}
let 변수명 = function (매개변수) { 코드블록 }
// num2라는 변수에 익명함수를 할당한다.
let num2 = function (a, b) { //num2는 함수명이 아니라 변수명이다!
return a + b; // 세미콜론 사용 O
}
let 변수명 = (매개변수) => {코드블록};
화살표함수와 공통점
//함수표현식 기본형
let num2 = function (a, b) {return a + b};
//화살표함수 기본형
let num2 = (a,b) **=>** {return a + b}; //함수표현식을 화살표 함수로 변경한 것
// function 을 => 로 축약한 것
// 매개변수가 1개일 시 변수를 괄호로 묶거나 묶지않는 것은 자유이다.
let num1 = (a) or a => {return a + b}
// 매개변수가 2개 이상이거나, 없을 경우 소괄호는 필수이다.
let num1 = (a,b) => {return a + b}
let num2 = () => {return }
// 함수 본문에 return문만 있다면, return과 중괄호를 생략할 수 있다. 둘 중 하나만 생략은 불가능한다.
let num1 = (a,b) => a*b
참조
MDN
드림코딩엘리 유튜브