함수의 선언 3가지) 함수 선언식, 함수 표현식, 화살표 함수

YS_Study.log·2022년 1월 14일
0

함수

목록 보기
3/4

함수의 선언방법 3가지

함수를 선언하는 방법은 함수 선언식, 함수표현식으로 나뉘며 함수표현식의 단축 형인 화살표현식이 있다.

함수표현식은 익명함수라고 불리는데, 익명함수는 함수를 재사용하지 않을 목적으로 함수에 이름을 붙이지 않는 것을 뜻한다.

함수 선언식

function 함수명(매개변수) { 코드블록 }

  • 함수 선언과 동시에 함수를 정의한다.
  • function 키워드 옆에 반드시 함수 이름 명시
  • 함수 선언식에서 함수를 선언할 때는 세미콜론(;)을 사용하지 않는다.
  • 함수 호이스팅의 영향을 받아 함수가 선언되기 전에도 함수가 사용된다.
function num1(a,b) {
let result = a + b
 return result // 세미콜론 사용 X
}  

함수 표현식(익명함수)

let 변수명 = function (매개변수) { 코드블록 }

  • 변수를 선언하고 변수에 익명함수를 할당한다.
  • 함수명이 필요없다. (익명함수)
    -> 이름이 없는 함수를 anonymous function이라 합니다.
  • 함수 표현식으로 함수를 선언할 때 세미콜론을 붙인다.
// num2라는 변수에 익명함수를 할당한다.
let num2 = function (a, b) {  //num2는 함수명이 아니라 변수명이다! 
	return a + b;  // 세미콜론 사용 O
} 

화살표 함수(함수 표현식의 단축법)

let 변수명 = (매개변수) => {코드블록};

화살표함수와 공통점

  • 변수를 선언하고 변수에 익명함수를 할당
  • 화살표함수를 선언할 때도 세미콜론을 붙인다.

화살표함수와 차이점

  • function 키워드를 화살표(=>)로 축약해서 표시
  • 함수의 본문에 리턴문만 있을 경우 : return과 {}중괄호를 생략이 가능하다 (코드가 한 줄 일때)
    return을 생략한다면 {}중괄호도 같이 생략해야한다.
  • 만약 함수 내의 표현식의 2줄 이상인 경우, return과 {} 중괄로를 명시적으로 써주는 것이 좋다.
    (가독성이 좋은 코드작성법)
  • 변수가 하나뿐인 경우 소괄호는 선택사항이며, 매개변수가 없거나 2개 이상인 경우 소괄호는 필수이다.
//함수표현식 기본형
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
드림코딩엘리 유튜브

profile
느리지만 조금씩 공부하는 중 입니다. 현재 1년 6개월차 신입입니다 ><!

0개의 댓글