음악, 삶, 개발

Function Expression vs Function Declaration 본문

개발 Web/JS

Function Expression vs Function Declaration

Lee_____ 2021. 3. 11. 01:57

< 참고 강좌 : youtu.be/e_lU39U-5bQ >


JS 에서 함수를 작성하는 방식은 2가지가 있다.

const f1 = () => { console.log('expression!')}

function f2() { console.log('declaration!')}

f1()
f2()

이 둘의 중요한 차이점은,

function delcaration 은 호이스팅 (뒤에 선언한 함수를 끌어올려 호출) 이 되지만,

function expression 은 호이스팅이 되지않는다.

 

const f1 = () => { console.log('f1!')}

f2() 

const f2 = () => { console.log('f2')}

// Error : Cannot access 'f2' before initialization
function f1() { console.log('f1!')}

f2() // f2 출력

function f2() { console.log('f2')}