JAVASCRIPT 21 FUNCTIONS DECLARATIONS VS EXPRESSIONS

 함수의 선언식과 표현식에 대해 알아보자

function clacAge1(birthYear) {
    return 2022 - birthYear;
}
const age1 = clacAge1(2001);

우선 위의 코드는 우리가 전 시간에 배웠던 코드로 함수 선언식이라고 한다.

그리고 함수의 표현식도 존재하는데

const calcAge2 = function (birthYear) {
    return 2022 - birthYear;
}
const age2 = calcAge2(2001);

다음과 같다. 특이사항으로 함수의 이름이 없이 대입 연산자를 통해 이름이 생긴다.

Expression 의 특징이 statement와 다르게 값을 내놓기 때문에 저렇게 변수 안에 함수를 대입 가능한 것이 다른 언어와 자바스크립트의 차이점이지 않을까 생각한다.

함수 표현식을 쓰는 이유가 또 있다. 이유는 호이스팅 에러 방지 인데

https://gmlwjd9405.github.io/2019/04/22/javascript-hoisting.html

위 사이트에 자세히 설명 되어 있다. 그리고 이밖에도 여러 장점이 있으므로 함수 표현식을 쓰는게 더 유리할 수 있다.
















댓글

이 블로그의 인기 게시물

Javascript this keyward

Javascript Object vs Primitives (Primitives vs reference type)

javascript 15 switch statement