

함수 선언식으로 작성된 펑션은 호이스팅이 된다.
호이스팅 : 함수의 선언을 최상단으로 끌어올리는 것, 아무대서나 끌고올수 있음.
함수 선언식으로 작성된 평션은 이름이 꼭 있어야 하고, 익명함수 불가능.
함수를 하나의 표현식 안에서 정의하는 것

함수 표현식으로 작성된 평션은 이름을 생략할 수 있다.
함수 표현식으로 작성된 펑션은 호이스팅이 되지 않는다.

기존의 함수 표현식을 간단하게 만들 수 있는 장점이 있다.
문법이 간결하다.

항상 익명함수 이다.

이렇게 한 줄만 작성되어있는 경우, 리턴값 과 중괄호를 생략해 줄 수 있다.

매개변수를 감싸는 소괄호를 생략할 수 있는데, 매개 변수가 단 한개만 존재할때만 가능하다. 매개변수가 없어도 생략불가능하다.

function 키워드를 사용해서 정의한 일반함수의 경우에는 따로 명시하지 않아도 arguments 라는 매개변수를 암묵적으로 전달받는다.


이 arguments 변수는 함수가 전달받은 인자를 담고있는 배열 형태의 객체다.
이 arguments 변수는 인자가 정확히 정의되지 않은 가변 인자를 받을 때 유용하게 사용할 수 있다.
일반함수와는 다르게 arguments 변수를 전달 받지 않는다.

만약 화살표 함수에서 가변인자를 처리하고자 한다면

이렇게 스프레드 연산자를 통해 사용하면 된다.