1. 선언적 함수
- 함수에 미리 이름을 붙여서 정의해놓은 형태
- 자바스크립트 파일을 읽을 때 선언적 함수를 우선적으로 읽어줌
- 선언적 함수는 호출 위치가 자유로움
plus();
function plus(){
const num1 = 2;
const num2 = 3;
console.log(num1+num2)
}
plus();
2. 익명 함수
- 함수에 이름이 없이 정의하는 형태
- 익명 함수 자체만으로는 호출 불가능
- 변수에 익명 함수를 대입하거나(대입형) 특정 이벤트 객체에 대입하는 식으로 호출
- 대입한 변수, 이벤트 객체 선언 전에 호출 불가능
const minus = function(){
const num1 = 2;
const num2 = 3;
console.log(num1-num2)
}
minus();
3. 대입형 함수
- 변수에 익명 함수가 대입된 형태
- 위 예제의 minus 변수 : 변수에 익명 함수를 대입한 것
4. 즉시 실행 함수
- 별도 대입 없이 바로 실행
- 함수가 자기자신을 정의하자마자 바로 자신을 호출
- 즉시 실행 함수 안쪽의 값들을 캡슐화하기 위해 사용
(function(){
const num1 = 2;
const num2 = 3;
console.log(num1-num2)
})();
5.화살표 함수
- 기존의 익명 함수를 좀 더 쓰기 편하게 축약한 형태
- 내부로 전달되는 파라미터가 하나면 괄호 생략 가능
- 코드 블록 안에서 실행되는 코드가 한 줄이면 코드 블록 괄호도 생략 가능
const plus = (num1,num2) => {
const result = num1+num2;
return result;
}
plus(1,2)
//생략형
const abc = txt => console.log(txt);
abc("hello world!");