기명 함수 익명 함수

aydennote·2022년 5월 18일
0

JavaScript

목록 보기
3/7

기명 함수와 익명 함수

// 기명 함수
function sayName(){
    console.log("일반 함수(기명 함수) 실행");
}
//익명 함수
const ayden = function(){
    console.log("익명 함수 실행");
}

기명함수 같은 경우, 브라우저가 런타임(RunTime) 이전에 선언 및 할당되는 함수이다.
익명함수 같은 경우, 브라우저가 런타임(RunTime)에 할당되는 함수이다.

즉, 함수 자체가 호이스팅되고 안 되고 차이가 있다.

console.log("첫번째 실행---------------");
func();
var func = function(){
  console.log("익명 함수 실행");
}
function func () {
  console.log("기명 함수 실행");
}
console.log("두번째 실행---------------");
func();

결과는 먼저 var func 변수가 호이스팅 되고 undefined 값이 할당된다.
다시 func 변수에 기명 함수 전체가 호이스팅되어 재할당된다. 코드가 실행되면서 var func 익명 함수를 만나 변수에 익명 함수가 재할당 되어 아래 사진과 같은 결과가 출력된다.

출처


✍ 정리
기명(일반) 함수는 전체가 다 호이스팅 되므로 호출의 위치와 실행 위치 간에 연관관계가 없다. 재사용될 기능에 주로 사용된다.
익명 함수는 선언부만 호이스팅되며 호출의 위치와 구현의 위치 간에 순서가 알맞아야 하고, 한 번만 사용하는 기능에 사용된다.

profile
기록하는 개발자 Ayden 입니다.

0개의 댓글