본문 바로가기
  • 오늘도 한걸음. 수고많았어요.^^
  • 조금씩 꾸준히 오래 가자.ㅎ
IT기술/javascript

[javascript] 익명함수,즉시실행함수,화살표함수

by 미노드 2024. 5. 22.

자바스크립트에서 지원하는 함수의 종류 중에, 자바처럼 함수를 선언해서 사용하거나
람다를 선언해서 사용하는 방법 처럼 여러 가지 방법으로 함수를 선언할 수 있다.
특히 다양한 기법으로 함수를 선언함으로써 코드 수를 줄이고 아는 사람만 알아볼 수 있도록 하는 것이 목적이다.
성능의 목적으로 쓰이기도 하지만, 자바스크립트 특성상 함수를 제대로 불러오지 못하는 경우도 있어서, 그냥 자주 쓰인다고 알아두면 좋다.

익명함수

말그대로 이름이 없는 함수. 익명 함수를 선언 할 때는 이름을 붙이지 않는다.
함수자체가 '식'이기 때문에 함수를 변수에 할당할 수 있다. 또한 다른 함수의 매개변수로 사용할 수 있다.

단 한번만 사용되는 함수의 경우, 불필요한 시간동안 메모리를 차지하지 않도록 익명함수로 구현한다면, 정확히 해당 함수가 필요한 위치에서만 해당 함수가 구현되고 사라지면서 메모리를 아낄 수 있게 된다.

즉시실행함수

즉시실행함수는 정의와 동시에 호출되는 함수로 단 한번만 쓰이는 함수를 메모리에서 빠르게 제거할 수 있다는 장점이 있어 사용된다.
즉시실행함수는 전역변수 사용을 억제할 수 있어 변수이름의 충돌을 방지할 수 있으며 메모리를 효율적으로 관리할 수 있고 모듈 패턴에 사용하기 유리하다.

즉시 실행 함수는 함수 선언 소스 전체를 괄호로 묶는다고 생각하면 쉽다.
그리고 소스를 닫는 괄호 앞이나 뒤에 인수가 들어갈 괄호를 넣는다.
끝에 세미콜론을 붙여준다.

(function() {
  *******
}());

 

화살표함수

즉시실행함수는 정의와 동시에 호출되는 함수로 단 한번만 쓰이는 함수를 메모리에서 빠르게 제거할 수 있다는 장점이 있어 사용된다.

즉시실행함수는 전역변수 사용을 억제할 수 있어 변수이름의 충돌을 방지할 수 있으며 메모리를 효율적으로 관리할 수 있고 모듈 패턴에 사용하기 유리하다.

즉시 실행 함수는 함수 선언 소스 전체를 괄호로 묶는다고 생각하면 쉽다.
그리고 소스를 닫는 괄호 앞이나 뒤에 인수가 들어갈 괄호를 넣는다.
끝에 세미콜론을 붙여준다.

(function() {
  *******
}());

위와 같이 사용할 수있는데, 변수에 할당할 수 있고, 함수에서 반환하는 값을 변수에 할당할 수도 있다.