
함수란
- 함수는 특정 작업을 수행하는 독립된 프로그램의 단위, 재활용의 기초가 됨
자바스크립트에서 함수를 구성하는 방식
function add(a,b) {
return a + b
}
- 함수 표현식 (ES5에서 추가)
- 함수 표현식은 함수 정의와 구문이 거의 동일하나 익명 함수를 변수명에 할당하는 형태
- 함수 정의 방식 사용시 정의 전 사용이 가능하지만(호이스팅) 함수 표현식 사용시 사용이 불가함
- 함수 표현식은 콜백 형식으로 자주 사용
- 콜백은 함수를 매개변수형태로 다른 함수에 전달하는 것을 말함
let add = function(a,b) {
return a + b
}
- 화살표 함수 표현식 (ES6에서 추가)
- 화살표 함수는 function 키워드를 사용하지 않는 함수 표현식, ⇒ 형태의 화살표를 사용하는 것이 특징
- 중괄호, return키워드 없이 표현이 가능
- this 키워드를 다루는데도 차이점이 있음
- 함수 내부에서 사용된 this는 해당 함수의 주인을 가리킴
- 함수 표현식과 함수 정의 방식에선 문맥에 따라 달라지는데 전역에서 호출된 함수는 전역 객체를, 메서드로 호출된 함수는 그 객체를 가리킴
- 화살표 함수 표현식에서 this는 정적으로 결정, 주로 global객체를 (window) 가리킴
- 메서드 내에서 정의된 화살표 함수같은 경우에는 그 객체를 가르킴
let add = (a,b) => a+b;
콜백 함수
- 콜백이란 함수를 매개변수 형식으로 다른함수에 전달하는 방식을 말함
- 매개변수로 전달된 함수는 필요 시 호출이 됨 (지연된 호출)
- 비동기 처리에서 주로 사용