궁금한게 많은 코린이의 Developer 노트

함수의 종류 본문

Javascript

함수의 종류

lemonarr🍋 2023. 9. 22. 08:33

함수의 종류에는 세가지로 분류할 수 있다.

 

익명함수: 말 그대로 이름이 없는 함수이다. 

 

익명 함수
let 함수 = function() {
    console.log("오늘은 햄버거를 먹고 싶다.");
};

선언적 함수: 이름을 선언하여 선언적 함수! 

선언적 함수

function 함수() {
    console.log("안녕하세요.");
}

화살표 함수: ( ) => { } 

화살표 함수

let 함수 = () => {
    console.log("안녕하세요.");
}

 

 

그렇다면 이것들엔 어떤 차이점이 있을까?

 

익명함수와 선언적 함수의 차이(호이스팅 순서)

 

호이스팅 순서: 선언적함수 > 익명함수

자바스크립트에서 호이스팅을 할 때 선언적함수가 익명함수보다 먼저 호출되어진다.

이름을 명시한 함수를 먼저 실행하기 때문이다.

 

 

익명함수와 화살표 함수의 차이(this가 가리키는 것)

익명: 최상위 객체
(function(){
    console.log(this); // global 최상위 객체
})();
화살표 함수: 자기자신

(() => {
    console.log(this); // {}
})();

화살표 함수의 코드에서  { }란 결과가 나왔다.

이것은 자기자신을 가리키는 것이다.

 

익명에서의 this는 : 최상위 객체 를 가리키고,

화살표함수에서의 this는 : 자기자신을 가리킨다.

 

 

 

이미 알고 있는 개념이지만 한번 더 정리하는 중..

같은 내용을 다른 매체나 사람에게 들었을 때 이해가 더욱 깊게 되는 것 같다.

오늘도 (개발) 공부 하는 사람들..모두 화이팅!