728x90

자바스크립트 기본(16) - 함수 표현식

자바스크립트는 다른 언어와 달리 함수를 특별한 "구조가" 아닌 특별한 "값"으로 취급한다.
함수 선언 방식 외에도 함수 표현식을 사용해 함수를 만들 수 있다.

let sayHi = function() {
  console.log("Hi");
}

함수를 생성하고 변수에 일반적인 값처럼 할당할 수 있다.
함수도 일종의 "값"이기 때문에 아래와 같은 방법을 사용할 수도 있다.

console.log(sayHi);

위 코드를 실행하면 sayHi에 할당된 값, 즉, 함수의 코드가 출력된다.
자바스크립트에서는 괄호 없이 함수가 실행되지 않기 때문에 함수가 실행되지는 않는다.

콜백 함수

특정 조건이나 동작에 따라서 호출되는 함수를 콜백 또는 콜백 함수라고 부른다.
콜백 함수를 활용하면 상황에 따른 동작 설정 등을 깔끔하게 정리할 수 있다.

함수 선언문과 함수 표현식 비교

첫째, 함수 선언문은 코드를 선언하는 것이 독자적인 구문 형태로 존재하지만
함수 표현식은 표현식이나 구문 구성 내부에 생성된다.
할당 연산자 =을 이용하여 변수에 할당되는 방식을 할당 표현식이라고 한다.
둘째, 함수의 방식에 따라 자바스크립트 엔진이 언제 함수를 생성하는 지 달라진다.
함수 표현식은 실제 함수에 도달했을 때 함수를 생성하며 해당 시점 이후에 해당 함수를 활용할 수 있다.
선언문의 경우에는 이전에 호이스팅을 다룰 때 있던 개념으로 준비 단계에서 한 차례 전역에 선언된
함수를 찾아 생성하므로 어디에 있는가와 상관 없이 어디에서든 사용할 수 있다.

728x90

+ Recent posts