[Javascript] 함수

insung·2024년 7월 4일

함수란

  • 함수는 특정 작업을 수행하는 독립된 프로그램의 단위, 재활용의 기초가 됨

자바스크립트에서 함수를 구성하는 방식

  • 함수 정의 (선언)
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;

콜백 함수

  • 콜백이란 함수를 매개변수 형식으로 다른함수에 전달하는 방식을 말함
    • 매개변수로 전달된 함수는 필요 시 호출이 됨 (지연된 호출)
    • 비동기 처리에서 주로 사용
profile
안녕하세요 프론트엔드 관련 포스팅을 주로 하고 있습니다

0개의 댓글